现在项目中有这么一个需求,同一时间段内只允许一个用户进行登录,后登陆的用户会将前一个用户“顶”掉。
修改项目web.xml文件
在 web.xml 中添加监听
<web-app>
<listener>
<listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>
</web-app>
修改secutiry.xml文件
在 security.xml 文件中增加以下内容
<b:beans xmlns="http://www.springframework.org/schema/security"
xmlns:b="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">
<http use-expressions="true" auto-config="true">
<!-- session管理 -->
<session-management>
<concurrency-control error-if-maximum-exceeded="false" />
</session-management>
</http>
</b:beans>
运行结果
运行结果示例,可见当在第二个浏览器中再次登录,刷新前一个浏览器会出现session已经失效的提示。