每个用户一个会话 spring security 3.2
Posted
技术标签:
【中文标题】每个用户一个会话 spring security 3.2【英文标题】:one session per user spring security 3.2 【发布时间】:2015-12-26 03:32:08 【问题描述】:我想限制每个用户一个会话,然后我按照接下来的步骤操作。 web.xml
<listener>
<listener-class>
org.springframework.security.web.session.HttpSessionEventPublisher
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
<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>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
spring-security.xml
<sec:session-management invalid-session-url="/pages/comun/index.xhtml"
session-fixation-protection="none">
<sec:concurrency-control max-sessions="1"
expired-url="/pages/comun/index.xhtml" error-if-maximum-exceeded="true"/>
</sec:session-management>
做不到,有人帮我欣赏一下
【问题讨论】:
【参考方案1】:我在您的web.xml
中看不到HttpSessionEventPublisher
。
<listener>
<listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>
这会将会话数据添加到由您的spring-security.xml
创建的SessionRegistry
。
【讨论】:
以上是关于每个用户一个会话 spring security 3.2的主要内容,如果未能解决你的问题,请参考以下文章
在tomcat上的grails spring security中登录用户的会话
springCloud-依赖Spring Security使用 JWT实现无状态的分布式会话