Was ist der richtige Weg, um bei Verwendung von Spring Security Informationen zum aktuellen Benutzernamen (d. H. SecurityContext) in einer Bean abzurufen?
Ich habe eine Spring MVC-Webanwendung, die Spring Security verwendet. Ich möchte den Benutzernamen des aktuell angemeldeten Benutzers erfahren. Ich verwende das unten angegebene Code-Snippet. Ist das der akzeptierte Weg?
Ich mag es nicht, eine statische Methode in diesem Controller aufzurufen - das macht den ganzen Zweck von Spring zunichte, IMHO. Gibt es eine Möglichkeit, die App so zu konfigurieren, dass stattdessen der aktuelle SecurityContext oder die aktuelle Authentifizierung eingefügt wird?
@RequestMapping(method = RequestMethod.GET)
public ModelAndView showResults(final HttpServletRequest request...) {
final String currentUser = SecurityContextHolder.getContext().getAuthentication().getName();
...
}