Spring security : Mehrere Rollen für einen einzelnen Benutzer
Meine Anwendung braucht mich, um zu definieren, mehrere Rollen für einen einzelnen Benutzer .
Habe ich gelesen,Spring security mit einer Datenbank und mehrere Rollen? .
Warum sollten wir die Umsetzung unserer eigenen UserDetails ? Vorhandene enthält
Collection getAuthorities();
Außerdem gibt es eine Referenz oder ein tutorial, das ich Folgen kann, die für die Umsetzung mehrere Rollen für einen Benutzer ?
InformationsquelleAutor Vinoth Kumar C M | 2011-04-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Akzeptierte Antwort auf die post, die Sie verwiesen wird, scheint nicht korrekt zu mir. Sie müssen nicht erstellen Sie Ihre eigenen
UserDetailsService
Umsetzung. Mehrere Rollen werden bereits unterstützt. Sehen JdbcDaoImpl. Sie habe, so stellen Sie sicher, dassauthoritiesByUsernameQuery
passt mit Ihrer Datenbank einrichten. Standardmäßig der Wert istselect username,authority from authorities where username = ?
. Diese Abfrage wird ausgeführt, indemloadUserAuthorities
Methode lädt alle Behörden.Ich bin nicht sicher, wenn ich das Problem. Können Sie code hinzufügen, um zu zeigen, was Sie versucht haben?
Mit Ihrer Lösung die gesamte Zeichenfolge zurückgegeben wurde, als eine einzige Berechtigung: "ROLE_ADMIN,ROLE_USER", statt ["ROLE_ADMIN","ROLE_USER"]. Ich hab implementieren müssen, um meine eigenen UserDetailsService.
Ich denke, ich versuche zu verstehen, wo bekommt man die Zeichenfolge. Die loadUserAuthorities Methode der JdbcDaoImpl gibt eine Liste von GrantedAuthority.
InformationsquelleAutor Ritesh
Falls jemand interessiert ist, in einem benutzerdefinierten UserDetailsService für comma-separated Behörden:
Nun können Sie etwas haben, wie diese in der db:
InformationsquelleAutor markbaldy
Spring security unterstützt mehr-als-ein-Rollen out-of-the-box!
So, speichern Sie alle feinen Leute eine Menge Zeit:
Muss man insert mehrere Einträge für denselben Benutzer:
Das war in der MySQL Workbench, MySQL 5.7.24
Auch andere Umgebungen, in Fall, dass Sie Fragen, welche version zu reproduzieren, Ergebnis:
Dann zu überprüfen, ich habe dieser Seite und:
Hier ist der Beispiel-code für die Anzeige und überprüfung des angemeldeten Kontos Behörden:
Oh, und diese Letzte Ansicht enthält thymeleaf und nicht nur der standard, auch das layout Dialekt. Nur für den Fall Sie möchten, um es auszuprobieren, müssen auch diese Abhängigkeit:
Oder bekommen die Fahrt von der layout-fragment-tag:
InformationsquelleAutor marsrover