RBAC-Datenbankmodell (RBAC = Best Role-Based Access Control)
Was ist die beste Datenbank-schema zu verfolgen, role-based access controls für eine web-Anwendung?
Ich bin mit Schienen, aber das RBAC-plugin linked von Google sieht nicht gepflegt (nur 300 commits im SVN; die Letzte war vor fast einem Jahr).
Das Konzept ist einfach genug zu implementieren, die von Grund auf neu, trotzdem Komplex und wichtig genug, dass es lohnt sich immer rechts.
So, wie andere Architekten und die Umsetzung Ihrer RBAC-Modell?
InformationsquelleAutor der Frage JasonSmith | 2008-10-10
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meiner eher grundlegende Kenntnisse in diesem Bereich, die wichtigsten Akteure von RBAC sind:
Ressourcen < -- > (eine oder viele) Berechtigungen.
Rollen <- sind Sammlungen von -> (eine oder viele) Berechtigungen.
Benutzer < -- > (eine oder viele) Rollen.
Den Tabellen für ein solches Modell wäre:
Nun möchten Sie vielleicht, um Ressourcen-auch hier, wenn Sie möchten, dass Benutzer Ihrer Anwendung konfigurieren können, die die Berechtigungen für eine Ressource müssen. Aber hab ich nie gebraucht. Hoffe, das hilft.
InformationsquelleAutor der Antwort Amr Mostafa
Hier ist ein einfaches Diagramm, um zu veranschaulichen, Amr Mostafa ausgezeichnete Antwort
InformationsquelleAutor der Antwort Hanxue
Ich gerade arbeite, auf das RBAC-sub-system hier auf der Arbeit bei Ihnen moment... was für ein Zufall.
Mein Modell basiert auf den Bausteinen der verschiedenen Personen in das system, die Berechtigungen benötigen, werden Sie Attribute zum anzeigen/aktualisieren oder Aktionen durchführen. Es gibt natürlich auch verschiedene Rollen in das system (die gegeben werden können den Benutzern), und der Klebstoff, der hält das ganze zusammen ist die Zugriffsregeldie verbindet eine Besondere Rolle, eine spezielle Erlaubnis benötigen Unternehmen und die Erlaubnis gewährt. Eine access-Regel könnte so Aussehen wie diese:
und so weiter. Ich lasse die ERD als übung für dem Leser 😉 wenn Sie Fragen haben, einen Kommentar hinterlassen.
Yuval =8-)
InformationsquelleAutor der Antwort Yuval
Können Sie Erholsamen ACL Rails plugin.
InformationsquelleAutor der Antwort IDBD
Ich denke, die Antwort auf deine Frage geht so tief, wie Sie wünschen zu gehen. Wenn Sie geschehen, zu denken, darum, Rollen in Gruppen und dann zuordnen von Gruppen mit Benutzern nicht ausreichen würde. Schließlich werden Sie brauchen, um bestimmte Berechtigungen für einen Benutzer für ein bestimmtes Objekt (ein forum, ein video etc.).
Ich bin mehr in der Nähe Yuval Antwort, alles, was wir brauchen, ist die Zuordnung-Projekt-große Objekte + Aktionen + Nutzer. Um diese zu gewährleisten; ein Basis-Objekt (Entität), macht absolut Sinn. Jedes Objekt erbt von Element kann leicht in Zusammenhang mit einem Benutzer + Aktion in dieser Art und Weise.
Als Sie auch wollen, um Dinge einfach zu halten; mein Vorschlag wäre;
Nehmen die Dinge einen Schritt weiter, würde ich auch empfehlen, die folgenden (für eine automatisierte rbac)
Aber ach, das ist nur für .NET, soweit ich weiß Java nicht haben, benutzerdefinierte Attribute, so dass noch nicht einmal wahrscheinlich zu sein, verfügbar für Java.
Ich würde gerne kommen mit ein paar code Beispiele, aber ich bin zu faul, das zu tun. Noch, wenn Sie Fragen über meine Art zu rbac; Sie können hier Fragen und ich werde sicherlich Antworten.
InformationsquelleAutor der Antwort detay
Rolle Voraussetzung arbeitet mit Restful Authentication sehr gut zu rollenbasierten auth-Funktionen und ist gut gepflegt.
InformationsquelleAutor der Antwort Yardboy
Versuchen https://github.com/ThoughtWorksStudios/piecees ist eine Regel-engine, die für Sie zur Verwaltung von Benutzer-role based access control:
Finden Sie die vollständige Rails-Anwendung Beispiel hier: https://github.com/xli/piece-blog
InformationsquelleAutor der Antwort Xiao Li
Für .net-Anwendungen sollten Sie sich etwas wie Visual Guard http://www.visual-guard.com/ zu vermeiden, Griff Berechtigungen und Rollen, die von Grund auf neu.
Auch für .net, Sie haben die Mitgliedschaft und die rollenanbieter und Zulassung behandelt mit der Konfiguration. http://www.odetocode.com/Articles/427.aspx
InformationsquelleAutor der Antwort Keith Patton
Ich wirklich, wie dieses blog-post, http://pivotallabs.com/users/nick/blog/articles/272-access-control-permissions-in-rails.
EDIT:
Scheint es, dass ryanb von railscasts dachte entlang den gleichen Linien und schuf ein Juwel namens cancan https://github.com/ryanb/cancan über eine grundlegende Technik, ähnlich wie der pivotollabs post.
InformationsquelleAutor der Antwort bluekeys
Einführung in RBAC -
Role based access control system ist eine Methode zum einschränken des Zugriffs auf 'einige Quellen oder Anwendungen oder einige Funktionen von Anwendungen basierend auf den Rollen der Benutzer der Organisation.
Hier können Einschränkungen werden durch mehrere Berechtigungen, die sind erstellt von: administrator, um Zugriff zu beschränken, und diese Berechtigungen Kollektiv repräsentiert eine Rolle, die dem Benutzer zugewiesen.
Und wenn wir gehen, leichte tiefer in RBAC, es enthält im Grunde 3 Funktionen.
1) - Authentifizierung bestätigt die Identität des Benutzers. In der Regel ist es erfolgt über Benutzerkonten und Kennwörter oder Anmeldeinformationen.
2) Berechtigung - Es wird definiert, was der Benutzer tun kann und nicht tun kann, in einer Anwendung. Ex. 'Ändern, um' ist erlaubt, aber 'creating new order" ist nicht erlaubt.
3) Überwachung von Aktionen eines Benutzers auf Anwendungen. - Es verfolgt die Benutzer Aktionen auf Anwendungen, sowie die erteilt hat, die den Zugriff auf die Benutzer?
Dieser war sehr basic-top view-Bild der RBAC-system.
Grundlegende Struktur von RBAC-system kann enthalten folgende Komponenten:
Benutzer, Rollen, Berechtigungen oder Einschränkungen, Ressourcen.
Anwendung Ressource.
enthält Berechtigungen, die über Mittel der Rolle.
Zusätzlich zu diesem, können Sie auch die Sammlung von Benutzer – namens – Gruppen und Rollen können Gruppen zugewiesen werden, wenn Sie möchten, um komplexe Szenarien.
Es handelte sich also um sehr grundlegende Informationen zu RBAC-Struktur.
InformationsquelleAutor der Antwort Kunal Khatri