Realm Roles anlegen
- Im Realm
olymp
- Ream roles →
Create role
admin
- Ream roles →
Create role
user
- Ream roles →
Client Roles anlegen
- Clients →
athen
→ Tab Roles →Create role
client_admin
- Clients →
athen
→ Tab Roles →Create role
client_user
Composite-Roles anlegen
- Realm roles →
admin
→ Associated roles → Action → Add associated Roles → Filter by clients- Auswählen
(athen)client_admin
(athen)client_user
Assign
- Auswählen
1. Add associated roles
2. Filter by clients
3. Assign roles to admin
Eine weitere Composite-Role
- Realm roles →
user
→ Associated roles → Action → Add associated Roles → Filter by clients- Auswählen
(athen)client_user
Assign
- Auswählen
Die Wirkung der Zuordnung einer zusammengesetzten Rolle
Das Zuweisen einer zusammengesetzten Rolle wie ‚admin‘ zu einem Benutzer hat den Vorteil, dass dieser Benutzer nun alle Berechtigungen erbt, die mit den einzelnen Rollen verbunden sind, aus denen die zusammengesetzte Rolle besteht. Im Fall von ‚zeus‘ bedeutet dies:
- Durch die Realm-Rolle ‚admin‘ erhält der Benutzer administrative Privilegien auf der Ebene des Realms.
- Mit der Client-Rolle ‚Role client_admin‘ bekommt ‚zeus‘ administrative Rechte für den Client ‚athen‘.
- Die Client-Rolle ‚Role client_user‘ gewährt ‚zeus‘ zusätzliche benutzerspezifische Rechte für denselben Client.
Das macht die Verwaltung von Berechtigungen viel effizienter und übersichtlicher. Statt mehrere einzelne Rollen zu verwalten, können Sie einfach eine zusammengesetzte Rolle erstellen und diese einem Benutzer zuweisen. Die zusammengesetzte Rolle dient quasi als eine Art „Rechte-Bündel“, das einfach verteilt und verwaltet werden kann.
Nun wissen wir, wie Realms, User und Rollen angelegt werden und wie man eine oder mehrere Rollen einem User zuordnet. Jetzt ist ein guter Zeitpunkt, um das einmal auszuprobieren:
- Erstellen Sie einen User hercules im Realm olymp
- Erstellen Sie ein Passwort für den User hercules
- Weisen Sie dem neuen User die Realm- (composite) Role user zu
Sie können natürlich beliebig andere User hinzufügen. In den hier gezeigten Beispielen ist der Einfachheit halber der Username immer identisch mit dem Passwort.
Ausblick
Demnächst steht die Konfiguration des Realms olymp
sowie eine Spring-Demo-Anwendung zum Authorization-Code-Flow
auf GitHub zur Verfügung.