在我的控制器中,当我需要活动(登录)用户时,我会执行以下操作来获得 UserDetails
实现:
User activeUser = (User)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
log.debug(activeUser.getSomeCustomField());
它工作得很好,但是我认为 Spring 在这种情况下会使生活变得更轻松。有没有办法将 UserDetails
自动连接到控制器或方法中?
例如:
public ModelAndView someRequestHandler(Principal principal) { ... }
但是我得到的不是 UsernamePasswordAuthenticationToken
而是 UserDetails
?
我在寻找一个优雅的解决方案,有什么想法吗?