Ich versuche, ein komplexes Berechtigungsmanagementsystem mit Apache Shiro zu modellieren.Benutzerrollen vs. Benutzerberechtigungen mit Apache Shiro
Englisch nicht meine Muttersprache Ich fürchte, ich könnte einige der Feinheiten von Begriffen wie "Rollen", "Berechtigungen", "Rechte" & "Privilegien" fehlen.
Zum Beispiel sagen wir, ich möchte ein System erstellen, das Ressourcen wie Drucker innerhalb von Gebäuden verwaltet. Ein DB enthält Informationen darüber, welcher Drucker sich in welchem Gebäude befindet. Benutzer dieses Systems sollten in der Lage sein, einen Drucker zurückzusetzen oder darauf zu drucken.
Es ist mir klar, dass einige Benutzer werden "Super Admins" und in der Lage sein, auf jeden Drucker zurücksetzen und drucken ('Drucker: *: *') - Ich denke, dass wir diese Leute ein "Super Administratorrolle ".
Aber was ist, wenn jemand die Drucker in einem bestimmten Gebäude zurücksetzen darf ('building: A: *')? Ist "Building Admin" eine (prarametrische) Rolle? oder ist das nur eine Erlaubnis für ein bestimmtes Gebäude? Wie würdest du das mit Apache Shiro modellieren?
n.b.
Beim Kennzeichnen dieser QI wurde der Benutzerrollen-Tag hinzugefügt, der besagt: "Eine Benutzerrolle ist eine Gruppe von Benutzern, die dieselben Berechtigungen oder Berechtigungen auf einem System haben. Verwenden Sie dieses Tag für Fragen zur Funktionsweise von Benutzerrollen in einer bestimmten Sicherheit Framework oder Fragen zur Implementierung von Benutzerrollen in Ihrem Programm. "
Wäre es richtig anzunehmen, dass basierend auf dieser Definition es keine Rolle als "Building Admin" gibt, da die Verwaltung von Gebäude A Ihnen nicht die gleichen Berechtigungen wie die Verwaltung von Gebäude B gibt? und wenn ja, was wäre die richtige Terminologie um einen "Building admin" zu beschreiben?
Danke. Ich werde diese Option prüfen müssen, da ich nicht sicher bin, was die Auswirkungen für meine eigene Domain wären. Zumal in meinem eigenen Bereich die "Drucker" zwischen "Gebäuden" verschoben werden können. – epeleg