Autorisierung mit yii

Hallo zusammen,

Das Login mit Credentials die mit den Daten der Tabelle "User" verglichen werden klappt perfekt. Danke dieser Page: http://www.yiiframework.com/doc/guide/1.1/de/topics.auth

Nun weiss ich aber nicht wie ich die Autorisierung regeln muss respektive verstehe ich die oben verlinkte Guide Page nicht. Wo muss ich was definieren damit zB. der User XYZ mit der Rolle "manager" ($user->role->name // role <one-to-many< user)nur gewisse Actions von Controller ausführen darf? Gibt es irgendwo umfangreichere oder einfacher verständliche Anleitung?

Danke für eure Hilfe,

Redfish

Okey, sorry für Doppelpost - aber evt. macht es ja Sinn.

Ich hab es nach ca. 4h ausprobieren doch langsam verstanden. Habe aber trotzdem noch einige Fragen…

Die Sache mit dem authManager a la …


$auth=Yii::app()->authManager;

$auth->createOperation('readPerson','Read a person');

$auth->createOperation('updatePerson','Update a person');

… sollte wie aussieht nur einmalig als Initialisierung aufgerufen werden damit die Operations und Rollen in der DB gespeichert sind?

Ausser natürlich die Referenzierungen a la …


$auth->assign('admin',1)

… der Operations und Rollen an die User muss man dynamisch über eigene Actions erstellen können.

Hab ich diesen Teil richtig verstanden?

Danke und Gruss

Redfish

Nicht ganz würde ich sagen. Du brauchst keine eigenen Actions für das zuweisen von Rollen/etc. zu erstellen sondern das wird beim Login in der authenticate() Methode der UserIdentity gemacht (wenn die Login Daten gestimmt haben).

Den Rest hast du so beschrieben wie ich es auch verstanden habe.

Hi,

Mit eigenen Actions meine ich zB. wenn ich einen neuen User erstelle, müssen doch dem User die Rollen zugewiesen werden oder nicht?

Gruss