Yii RBAC – Rollenbasierte Rechte und mehr – Teil 4

Wie man die Yii RBAC richtig bedient

In diesem Artikel soll es um die YII RBAC (Yii Role Based Access Control) gehen. Auf deutsch Rollenbasierte Benutzer Rechte.

Dabei haben wir viel mehr Möglichkeiten, als nur Rechte in Rollen zu vergeben, wie das geht möchte ich in diesem Artikel schildern.

Dieser Artikel ist Teil der Artikelserie über das Yii User Management.

Was ist das YII RBAC

Das Modell der Yii RBAC setzt das in der ANSI-Norm 359-2004 genannte Role Based Access Control (RBAC) um. Jedes Mehrbenutzersystem hat bei vielen Benutzern das Problem, dass die Rechte der Benutzer immer komplizierter zu pflegen werden. Das RBAC soll genau dies vereinfachen und das Problem besiegen.

Dabei werden die Benutzer einer oder mehreren Rollen zugewiesen. In vielen Systemen wird erzwungen, dass ein Benutzer mindestens einer Rolle zugewiesen sein muss. Oft ist es jedoch möglich, einen Benutzer mehrere Rollen zu geben. Die meisten sehen die Rechteverwaltung über ein RBAC als bestes Verfahren an.

In den Yii RBAC ist es nicht nur möglich einem Benutzer eine oder mehrere Rollen zu geben. Es ist darüber hinaus auch möglich, einzelnen Benutzern über die Rechte der Rolle noch einzelne Rechte zu geben. Da dies jedoch dann wieder mit der Zeit unübersichtlich wird, empfehle ich dies nur im äußersten Notfall zu tun. Aber auch hier gibt es Anwendungsfälle, für die es einfacher bzw. besser ist dies so umzusetzen.

Business Regeln

Mit Business Regeln sind zu deutsch Geschäftsregeln gemeint. Geschäftsregeln sind mit Entscheidungstabellen vergleichbar. Geschäftsregeln bzw. entsprechende Entscheide treffen wir sehr oft am Tag. Die Geschäftsregeln setzen genau dies um. Beispiel: Wenn es 12 Uhr ist und wenn es Mittwoch ist, dann hole ich das Kind vom Kindergarten ab. So ist es möglich, mit den Geschäftsregeln das Rechte Management auf bestimmte Entscheidungen auszubauen. Zum Beispiel kann ich bestimmten Benutzern nur zu bestimmten Uhrzeiten Zugriff gewähren. Genau dies beschreiben die Geschäftsregeln. Geschäftsregeln sind im Yii User Management tief verankert und schon Integriert. Wir müssen diese nur anwenden.

Tätigkeiten

Als Tätigkeiten gelten alle Actions unserer Controller. Beziehungsweise würde ich eher umgekehrt sagen, alle Actions können eine Tätigkeit darstellen. Beim Yii RBAC wenden wir auch die Tätigkeiten an. Wir weisen die erlaubten Tätigkeiten entsprechenden Rollen zu. Damit aber kein unbefugter Zugriff bekommt, gehen wir besser umgekehrt vor. Wir verbieten allen alles und erlauben nur den gewünschten Benutzern (mit der bestimmten Rolle) die Tätigkeit. So können wir auch unterscheiden, ob ein Benutzer etwas bearbeiten darf oder nur ansehen. Beides stellt eine eigene Tätigkeit dar. Das Yii RBAC basiert auf Tätigkeiten. Die Rollen des Yii RBAC bringen uns rein gar nichts wenn wir diesen keine Tätigkeiten zuweisen können. Denn dann müssten wir im Quellcode wieder verankern wer was dürfte. Und genau das wollen wir mit dem Yii RBAC verhindern, Rechte sollen einfach, schnell und sicher verwaltbar sein.

Was meint Ihr zu den Yii RBAC?

3 Responses to Yii RBAC – Rollenbasierte Rechte und mehr – Teil 4

  1. […] Teil 4 – Rollenbasierte Rechte, Business Regeln und Tätigkeiten […]

  2. […] Teil 4 – Rollenbasierte Rechte, Business Regeln und Tätigkeiten […]

  3. […] Teil 4 – Rollenbasierte Rechte, Business Regeln und Tätigkeiten […]

Schreibe einen Kommentar zu Erweiterungen und verbesserungen für die Yii User Identity class Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert