当前位置: 代码迷 >> Web前端 >> 利用spring security统制同一个用户只能一次登陆
  详细解决方案

利用spring security统制同一个用户只能一次登陆

热度:416   发布时间:2013-07-20 11:07:48.0
利用spring security控制同一个用户只能一次登陆
1.描述
  最近在网上看了很多关于一个用户同时只能登陆一次问题的, 这个问题考虑了一下,
利用下班时间简单做了个测试

2.主要功能
  假设有两个用户:A和B, 当A在一个浏览器登陆成功后, B利用该账号再次登陆时,
也能登陆成功,此时在刷新A页面登陆成功的, 则提示A的session失效, 被踢出来了。

3.主要用到spring
  spring mvc 3.2
  spring-security 3.1.4
  maven 3
 
4.主代码
web.xml
<!-- Spring Security -->
	<filter>
		<filter-name>springSecurityFilterChain</filter-name>
		<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>springSecurityFilterChain</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<!-- 监听session -->
	<listener>
		<listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
	</listener>


5.内置测试用户
  由于该实例为连接数据库, 只是在代码中加入了两个内置测试账号
  a: lee 123456
  b: leee 123456

6.完整实例详见附件, 如果有更好的建议请留言, 谢谢
  相关解决方案