Was genau sind Aufgaben in Yii RBAC?

8

Ich tauche in RBAC ein, während ich eine neue und ziemlich große / komplexe Seite entwerfe. Ich versuche herauszufinden, ob ich eine Aufgabe oder einfach eine Operation mit Biz Regel erstellen soll.

Jetzt habe ich die meisten, wenn nicht alle vorhandenen Dokumente gelesen. Die aktuelle Dokumentation besagt, dass "eine Aufgabe aus Operationen besteht". Dieser Wiki-Artikel sagt, dass die verschiedenen Begriffe einfach Konventionen bezeichnen und Die einzige Einschränkung, die existiert, ist eine strukturelle Einschränkung - Rollen müssen Aufgaben (oder andere Rollen) enthalten; Aufgaben sollten Operationen (oder andere Aufgaben) enthalten und Operationen ist der atomare Ausdruck, der nicht weiter von anderen Entitäten zusammengesetzt wird. Ich habe auch die relevanten Abschnitte in den Büchern "Agile web dev ..." und "Yii cookbook" gelesen - beide beleuchten dieses Thema nicht weiter (zumindest durch meine Brille).

Lass uns zu meinem Beispiel gehen, wo ich die Frage stelle. Nehmen wir an, ich benutze ein Beispiel ähnlich dem, das in den meisten der oben erwähnten Dokumentationsressourcen gezeigt wird: Sagen wir, ich habe einen Blogpost und ich möchte / muss, dass sein Autor in der Lage ist, "seinen eigenen Beitrag zu aktualisieren". Nun, warum sollte dies eine Aufgabe sein, wie sie üblicherweise in den Dokumentationsressourcen demonstriert wird, und nicht eine Operation mit einer Biz Regel?

Ich denke, dass die obige Frage die inkrementelle Definition einer "Aufgabe" (im RBAC-Kontext natürlich) offenbart.

Bitte helfen Sie mir, eine bessere Definition für eine RBAC-Aufgabe zu destillieren.

BEARBEITEN: Ich wurde die folgenden Definitionen der erwähnten Begriffe vorgeschlagen, die helfen, sie in einer nützlichen Weise zu konzipieren. Kurz und in seiner einfachsten Form: operations sind die Grundbausteine. Sie sind die Materialentwickler und nur sie. Entwickler erstellen Aufgaben von und zusätzlich zu Operationen. Rollen bestehen aus Aufgaben wie eine Reihe von Aufgaben. Rollen und Aufgaben sind die Aufgaben, mit denen die Site-Administratoren spielen sollten - Benutzern zuweisen und widerrufen, aber keine Operationen. Das ist eine gute Möglichkeit, diese Entitäten (Rollen, Aufgaben und Operationen) zu betrachten und zu erfassen. Haben Sie eine andere Möglichkeit, anders zu denken? Irgendwelche Kommentare werden geschätzt.

TIA! Boas.

    
Boaz Rymland 20.02.2012, 07:25
quelle

3 Antworten

3

Ich würde sagen, das gleiche wie bei der Bearbeitung Ihrer Frage. Eine Aufgabe ist einfach eine Zusammenstellung von Operationen, die ein Benutzer ausführen kann, die etwas gemeinsam haben. So haben Sie zum Beispiel die Operationen oList , oView , oCreate und oUpdate Dies sind die Operationen, die der Entwickler Controller-Aktionen für die Zugriffskontrolle zuweist, wobei die ersten beiden nur Lese- und die zweiten beiden Schreibzugriffe haben Daten (das haben sie gemeinsam). Sie wollen diese nun mit den Aufgaben tInspect und tManage kombinieren, die beide 2 Operationen enthalten, die erste kann auflisten und anzeigen und die zweite kann erstellen und aktualisieren. Optional könnten Sie tInspect zu einer Unteraufgabe von tManage machen, damit ein Benutzer, der tManage hat, auflisten, anzeigen, aktualisieren und erstellen kann, aber normalerweise geben Sie seiner Rolle beide Aufgaben.

    
cebe 13.03.2012 04:04
quelle
2

Zur Klassifizierung der Rolle - & gt; Aufgabe - & gt; Operation, sie sind im Wesentlichen die gleiche Sache, wie Sie in den Code sehen können sie von Klasse CAuthItem sind. Wir nennen sie hauptsächlich vom Standpunkt des Benutzers aus anders.

  • Operationen werden nur von Entwicklern verwendet und sie stellen die feinste Berechtigungsstufe dar.

  • Tasks werden auf Basis von Operationen von Entwicklern erstellt. Sie stellen die grundlegenden Gebäudeeinheiten dar, die von RBAC-Administratoren verwendet werden.

  • Rollen werden von Administratoren auf Aufgaben aufgebaut und können Benutzern oder Benutzergruppen zugewiesen werden.

Das obige ist eine Empfehlung, keine Anforderung. Im Allgemeinen können Administratoren nur Aufgaben und Rollen sehen, während Entwickler nur auf Vorgänge und Aufgaben achten.

Sieh dir das an: Ссылка p _16035 # entry16035

    
Anshuman Jasrotia 16.07.2013 10:03
quelle
1

wenn zwei Benutzer vorhanden sind 1) Admin 2) Benutzer

Wir haben die Rolle updatePost für die Aktualisierungsseite festgelegt.
und admin ist das übergeordnete Element von updatePost, sodass der Administrator aktualisieren kann. Benutzer hat updateOwnPost permission.updateOwnPost ist übergeordnetes von updatePost mit bizrule.so wenn Bizrule zufrieden stellend ist, kann er

aktualisieren     
22francis 08.06.2012 21:01
quelle

Tags und Links