Ao usar o Spring Security, qual é a maneira correta de obter informações atuais de nome de usuário (por exemplo, SecurityContext) em um bean?
Eu tenho um aplicativo da Web Spring MVC que usa o Spring Security. Quero saber o nome de usuário do usuário conectado no momento. Estou usando o snippet de código fornecido abaixo. Essa é a maneira aceita?
Não gosto de chamar um método estático dentro deste controlador - que derrota todo o propósito do Spring, IMHO. Existe uma maneira de configurar o aplicativo para injetar o SecurityContext atual ou a autenticação atual?
@RequestMapping(method = RequestMethod.GET)
public ModelAndView showResults(final HttpServletRequest request...) {
final String currentUser = SecurityContextHolder.getContext().getAuthentication().getName();
...
}