使用Spring在会话中设置用户对象

时间:2011-11-18 18:46:32

标签: spring spring-mvc spring-security

我想在我的Spring应用程序中将包含用户详细信息的User对象设置为session。

当我想在各种JSP页面上检索登录用户的详细信息时,我想使用此会话对象。

我正在使用Spring 3和Spring Security 3

我想从我的自定义身份验证类(不是控制器)

中设置会话中的User对象

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

我假设您有 UserDetailsService类的实现。您可以从UserDetails返回实施loadUserByUsername()的任何User对象。然后,此对象将自动放入HTTP会话中。然后可以使用以下方法检索它:

User user = (User)SecurityContextHolder.
    getContext().getAuthentication().getPrincipal();

Spring Security会自动处理您需要的所有内容。