В моих контроллерах, когда мне нужен активный (зарегистрированный) пользователь, я делаю следующее, чтобы получить реализацию UserDetails
:
User activeUser = (User)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
log.debug(activeUser.getSomeCustomField());
Он отлично работает, но я думаю, что Spring может облегчить жизнь в таком случае. Есть ли способ, чтобы UserDetails
был автоматически добавлен либо в контроллер, либо в метод?
Например, что-то вроде:
public ModelAndView someRequestHandler(Principal principal) { ... }
Но вместо того, чтобы получать UsernamePasswordAuthenticationToken
, я получаю вместо него UserDetails
?
Я ищу элегантное решение. Любые идеи?