Gibt es trotzdem die List<GrantedAuthority>
im Authentication/UserDetailsImpl-Objekt zu setzen? In meiner Anwendung habe ich zwei Sicherheitsebenen, eine für die Anmeldung (die meinen benutzerdefinierten Anmeldeauthentifikator verwendet, in der Klasse habe ich Authentication
Objekt mit der UsernamePasswordAuthenticationToken
) und eine für eine "Abfrage", wo der Benutzer aufgefordert wird, zu beantworten eine bestimmte Frage.Spring Security: Set GratedAuthorities
Was ich tun möchte, ist eine GrantedAuthority
zu der aktuellen List<GrantedAuthority>
, die während des Login-Prozesses erstellt wurde, nachdem der Benutzer die Abfrage Frage beantwortet.
Ist das möglich?
Eine Sache, auf das zu klären ist, welche Klasse der Implementierung Userdetails. Spring stellt keine Klasse namens UserDetailsImpl bereit. Der JdbcDaoImpl erstellt eine Instanz der Benutzerklasse, während die LDAP-Version eine Instanz von LdapUserDetailsImpl erstellt. Es hängt also sehr stark davon ab, welchen Objekttyp Sie zurückbekommen, ob Sie die Berechtigungen ändern können. Ich habe nie eine der von Spring bereitgestellten UserDetails-Implementierungen verwendet, und zwar aufgrund von Dingen wie unveränderlichen Sets für Autoritäten, die sich ändern können. –