Empfehlungen: Erweiterte Suche

Verständnisfrage zu $this->Auth->authorize

Klassen zur Datenverarbeitung in den Controllern (DRY)

Verständnisfrage zu $this->Auth->authorize

Beitragvon bigbauf » Mo 26. Mai 2008, 18:49

Hi Leute,
erst mal Hut ab für das coole Forum, gefällt mir auch auch unter optischen Gesichtspunkten, über den Inhalt kann man ja noch nicht so viel sagen ;)
Um das schnell zu ändern hier mal direkt eine Frage:
1. Ich benutzte CakePHP 1.2
2. Seit einer Woche schlage ich mich nun mit dem Thema Auth rum und habe das nur so halb ans laufen gebracht, weil ich die Doku auch nur halb verstehe. kann vielleicht einer von euch erklären was die Unterschiede zwischen:
Code: Alles auswählen
$this->Auth->authorize = 'controller'
Code: Alles auswählen
$this->Auth->authorize = 'model'
Code: Alles auswählen
$this->Auth->authorize = 'crud'
sind?
vielleicht verstehe ich die Komponente dann ein bisschen besser ;)
bigbauf
 

Re: Verständnisfrage zu $this->Auth->authorize

Beitragvon Janress » Mo 26. Mai 2008, 18:49

Sorry, ich verwende die Component OthAuth!
Janress
 

Re: Verständnisfrage zu $this->Auth->authorize

Beitragvon Alex » Mo 26. Mai 2008, 18:49

Wenn du
Code: Alles auswählen
$this->Auth->authorize = 'controller';
setzt, dann kannst du in deinem Controller die Methode
Code: Alles auswählen
function isAuthorized() { ... }
anlegen. Bei Zugriff auf die Aktionen des Controllers wird diese Methode dann zur Authorisierung verwendet. Gleiches gilt für
Code: Alles auswählen
$this->Auth->authorize = 'model';

Was es mit
Code: Alles auswählen
$this->Auth->authorize = 'crud';
auf sich hat, kann ich dir allerdings nicht genau sagen. Evtl. wird isAuthorized() dann nur aufgerufen, wenn eine entsprechende Aktion angesteuert wird. Also beim Erstellen, Bearbeiten oder Löschen eines Datensatzes.
Alex
 
Beiträge: 120
Registriert: Di 13. Mai 2008, 13:39
Wohnort: Bremen
CakePHP-Version: 1.x.x
OS: OSX / Win 7 / Debian

Re: Verständnisfrage zu $this->Auth->authorize

Beitragvon bigbauf » Mo 26. Mai 2008, 18:49

danke schon mal für die hinweise, ich bin heute auch schon weiter gekommen.
Momentan habe ich folgende Lösung implementiert:

1. Auth-Einstellungen im beforeFilter() des AppController getätigt
Code: Alles auswählen
   
function beforeFilter()
{
 if (isset($this->Auth)){
   $this->Auth->authorize = 'controller';
   $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
   $this->Auth->loginRedirect = array('controller' => 'pages', 'action' => 'login_static');
   $this->Auth->logoutRedirect = '/';
   $this->Auth->loginError = 'Login-Error';
   $this->Auth->authError = 'Sie haben keine Berechtigung für diesen Bereich';
   $this->Auth->allow('login_static');
   $this->set("auth",$this->Auth);
 }
}
 

2. Im entsprechenden Controller (z.B. User) die isAuthorized-Methode einbegebunden und die Checks durchgeführt
bigbauf
 


Zurück zu Components

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste