我正在使用 Spring MVC 和 Hibernate 创建应用程序,人们可以在其帐户中注册和存储一些数据。 我创建了注册和登录过程。现在我有一个问题,我怎样才能保持用户会话?我不想在我的应用程序的每个页面中保留用户ID 。 例如:一旦用户登录,他就到达页面
someurl/overview/1
其中id是用户的id。我希望每个登录用户看起来像这样:
someurl/overview/
如何使用Spring在会话中保存用户数据,并在用户关闭网站然后打开它时保存用户数据的最佳做法是什么?
提前致谢。
答案 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没有强制执行,规范也要求全部 会话属性是可序列化的。想想如果存储超过 一个身份。