如何在Spring Web服务中管理会话?

时间:2015-11-12 09:36:23

标签: java spring-mvc session session-timeout

我在我的Web服务项目中使用过Spring MVC和hibernate。我想处理用户登录会话和会话超时。这些服务(例如: - 登录)可以通过门户网站以及同一客户的Android / iOS设备访问。当其中一个调用注销服务时,它应该只注销当前设备并保持其他登录会话不变。

2 个答案:

答案 0 :(得分:2)

  

对此的简短回答是使用Spring Security

Spring Security是一个优秀的Java安全框架。它将帮助您以您希望的方式管理用户登录的会话。将Spring Security与Spring MVC集成非常简单,因为您已经拥有Spring Beans配置文件。您所需要的只是创建与弹簧安全认证相关的更改以使其正常工作。

我不会深入讨论,而是建议您查看这些教程:

  

我强烈建议您查看this Stackoverflow thread.

要在Spring MVC中使用http Sessions,请按照以下链接:

答案 1 :(得分:0)

由于您希望注销用户特定于您按下注销的设备,我的想法是使用令牌,并将其保存在临时数据库中,例如,用户通过移动设备访问您的api将生成一些令牌并通过Web应该生成其他标记并将其存储在数据库中,如

USERID ---- TOKEN ---- MODE-
1 --- abcde1233 ---网站
2 --- abcde7878 ---手机

现在您可以注销特定于设备的用户,这只是一个想法,不确定这对您的问题有多大效率。