使用Spring在会话中设置用户对象
问题内容:
我想将User
包含用户详细信息的对象设置为我的Spring应用程序中的会话。
当我想在各个JSP页面上检索登录用户的详细信息时,我想使用该会话对象。
我正在使用Spring 3和Spring Security 3
我想在不是控制器的自定义身份验证类中的会话中设置User对象
我该如何实现?
问题答案:
我假设您有 一些UserDetailsService
类的实现。您可以返回从User
实现的任何对象。然后,该对象会自动放置在您的HTTP会话中。然后可以使用以下方法检索它:UserDetails
loadUserByUsername()
User user = (User)SecurityContextHolder.
getContext().getAuthentication().getPrincipal();
Spring Security自动处理您需要的一切。