Role Based Access Control in a Tree System

Ich versuche, herauszufinden, was der beste Weg für das erstellen einer Datenbank für einen Benutzer-Berechtigung-system, das ist wie ein Baum-system.

(zur Veranschaulichung) habe ich drei Ebenen der Steuerung: 1Property Group, die 2Eigenschaft 3Gebäude. Eine property group hat mehrere Eigenschaften, eine Eigenschaft hat mehrere Gebäude.

Ich möchte die Einrichtung der administration auf jeder Ebene.

einen PropGroupAdmin können anzeigen und Bearbeiten der Eigenschaften innerhalb der set property group, und die Gebäude im inneren.

einen PropAdmin können nur die set-Eigenschaft und die Gebäude innerhalb

und ein BldngAdmin kann nur die Menge erstellen

Wie ich vorstellen, dass es funktioniert ist, dass der Nutzer Bobby ist ein PropGroupAdmin mit einer propertygroup-id 102. Würden übersetzen in einer Reihe von speziellen Berechtigungen, die ich Lesen konnte, aus einer Sicht.

Die Frage die ich habe ist, wie kann ich die GroupPrivileges Tabelle in der Lage sein, um zu Erben (wenn das das richtige Wort) die Hierarchie? Im wesentlichen erlauben Sie mir, eine Ansicht zu erstellen, ich könnte einfach Lesen, um zu sehen, wenn ein Benutzer über die richtigen Berechtigungen zum ausführen einer Aufgabe.

Erstellt habe ich ein kleines Diagramm, wie ich es mir vorstelle funktioniert.
Role Based Access Control in a Tree System

Ich weiß, Das wird nicht funktionieren auf diese Weise, ich versuche nur, um herauszufinden, hot änderungen vornehmen, um ein ähnliches Ergebnis.

alternativ, denke ich, halten die Datenbank ein wenig einfacher (immer noch Rollen, Berechtigungen und Rollen Berechtigungen), aber generieren das daraus resultierende Modell auf den backend-code-Seite
könnten Sie bitte mitteilen, was Ansatz, den Sie nahm, um dieses problem zu lösen ?

InformationsquelleAutor Daniel | 2012-06-07

Schreibe einen Kommentar