Spring MVC在会话中保留用户数据

时间:2014-07-13 13:37:05

标签: spring session spring-mvc

我正在使用 Spring MVC Hibernate 创建应用程序,人们可以在其帐户中注册和存储一些数据。 我创建了注册和登录过程。现在我有一个问题,我怎样才能保持用户会话?我不想在我的应用程序的每个页面中保留用户ID 。 例如:一旦用户登录,他就到达页面

someurl/overview/1

其中id是用户的id。我希望每个登录用户看起来像这样:

someurl/overview/

如何使用Spring在会话中保存用户数据,并在用户关闭网站然后打开它时保存用户数据的最佳做法是什么?

提前致谢。

1 个答案:

答案 0 :(得分:4)

您可以通过多种方式在会话中保存用户数据。最简单的方法是:

public ModelAndView yourMethod(HttpSession session){

    session.setAttribute("user", 1); 
    return new ModelAndView("home");

}

如果您使用弹簧组件,您将随时可以使用会话,因此只需添加此参数并使用它即可。

编辑: 也可以使用Spring的会话属性: http://fruzenshtein.com/spring-mvc-session/ 如果它满足你的要求。

编辑(感谢@Serge Ballesta将其置于评论中,只是更新帖子FYI)

  

即使API没有强制执行,规范也要求全部   会话属性是可序列化的。想想如果存储超过   一个身份。