„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie bekomme ich die Benutzerdetails des aktuellen Benutzers in der Spring -Anwendung?

Wie bekomme ich die Benutzerdetails des aktuellen Benutzers in der Spring -Anwendung?

Gepostet am 2025-04-15
Durchsuche:395

How to Retrieve the Active User's UserDetails in a Spring Application?

public modelAndView SomeRestHandler (@authenticationPrincipal User ActiveUser) { ... }

User activeUser = (User)SecurityContextHolder.getContext().getAuthentication().getPrincipal();

vor der Spring Security 3.2 oder wenn Anpassung erforderlich ist, können Argument -Resolver eingesetzt werden. Ein WebargumentResolver kann wie CurrentUserWebargumentResolver erstellt werden, um das Objekt des Benutzerdetails automatisch zu beheben. @Override öffentliches Objekt Resolveargument (...) { Wenn (...) { return (Benutzer) ((Authentifizierung) Principal) .getPrincipal (); } anders { webargumentResolver.Nresolved zurückgeben; } } }

Dieser Resolver muss in der Konfiguration der Anwendung registriert sein. Es bietet ähnliche Funktionen wie das WebargumentResolver. @Override öffentliches Objekt Resolveargument (...) { Wenn (...) { return (Benutzer) ((Authentifizierung) Principal) .getPrincipal (); } anders { webargumentResolver.Nresolved zurückgeben; } } } Dieser Resolver muss auch in der Konfiguration registriert werden.

Durch die Verwendung dieser Methoden können Sie die Benutzerdetails des aktiven Benutzers in Ihren Controllern elegant erhalten, was die Wartbarkeit und die Lesbarkeit Ihres Frühlingsanwalts erhöht.

.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3