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: 1
Property Group, die 2
Eigenschaft 3
Gebä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.
Ich weiß, Das wird nicht funktionieren auf diese Weise, ich versuche nur, um herauszufinden, hot änderungen vornehmen, um ein ähnliches Ergebnis.
könnten Sie bitte mitteilen, was Ansatz, den Sie nahm, um dieses problem zu lösen ?
InformationsquelleAutor Daniel | 2012-06-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
warum das Rad neu erfinden? Warum nicht Sie implementieren der rollenbasierten Zugriffssteuerung standard? http://csrc.nist.gov/groups/SNS/rbac/
Gibt es Implementierungen für alle Datenbanken.
http://www.tonymarston.net/php-mysql/role-based-access-control.html
und ich bin nicht mit php
InformationsquelleAutor srini.venigalla
Wenn das nicht zu spät ist, haben Sie einen Blick auf diese:
http://vita.codeplex.com/wikipage?title=guide_authorization
Projekt verschoben nach github.com/rivantsov/vita
InformationsquelleAutor roman