Während der Implementierung einiger Sicherheitsaspekte mit Spring Security, habe ich festgestellt, dass sowohl als auch UserDetails
doppelte Methoden wie getAuthorities
, getCredentials
und so weiter haben.Warum hat Spring doppelte Felder in Authentication und UserDetails?
Was ist das Ziel dahinter? Es scheint mir eine nutzlose Redundanz zu sein.
Edit: Da sind die Leute zu faul, um die Signaturen zu überprüfen. Beide Schnittstellen haben dieselben Methoden. Ich beziehe mich nicht darauf getCredentials
und getAuthorities
sind die gleichen. Warum zum Teufel machen Menschen diese Annahme?
Ich bin auch davon überrascht, und ich sehe keine gute Erklärung. Ich habe einen benutzerdefinierten AuthenticationProvider implementiert und in der 'authenticate()' Methode muss ich folgendes zurückgeben: 'return new BenutzernamePasswordAuthenticationToken (neuer Benutzer (Benutzername, Passwort, BEHÖRDEN), Passwort, BEHÖRDEN);' – MarcFasel
Nach ein paar Untersuchungen der Spring Sicherheit, Ich betrachte es so: 'Authentication' wird ausschließlich von Spring Security verwendet. 'UserDetails' ist nur für den Client-Code vorgesehen. Aufgrund unterschiedlicher Kodierungstermine schneiden sie sich irgendwann. Denken Sie also daran, dass "Authentifizierung" nichts für Sie ist. Hoffentlich werden sie es in Spring Security 3.0 aufräumen. –