Es gibt eine Vielzahl von rollenbasierten Autorisierungs-Plugins. Sie funktionieren gut, wenn Sie im Voraus wissen, welche Rollen Sie übernehmen werden. Wenn ich zum Beispiel weiß, dass ich Administratoren, super_users und not_so_super_users haben werde.
Was ich wirklich möchte, ist die Möglichkeit, benutzerdefinierte Rollen zu erstellen und diese Rolle einem Benutzer zuzuweisen. An dieser Stelle bin ich einfach wollen, um den Zugriff auf Controller / Aktionen auf der Grundlage einer benutzerdefinierten Rolle des Benutzers zu blockieren. Rollen werden aus Berechtigungen bestehen.
Jane Doe kann zum Beispiel Widgets hinzufügen und anzeigen, aber nicht löschen oder bearbeiten. John Doe kann hinzufügen, anzeigen und bearbeiten. Der Chef kann hinzufügen, anzeigen, bearbeiten und löschen. Ich möchte in der Lage sein, in einer Zeile zu prüfen, ob der Benutzer zum Zugriff auf einen Controller / eine Aktion berechtigt ist:
user.is_authorized?
is_authorized (oder wie auch immer es genannt wird) sollte intelligent genug sein, um festzustellen, ob der Benutzer auf der Grundlage der ihm zugewiesenen Rolle und der für diese Rolle festgelegten Rechte berechtigt ist.
Verstehe ich das richtig? Gibt es irgendetwas da draußen, das dies tut?