每个用户一个会话spring安全3.2



我想限制每个用户一个会话,我遵循下面的步骤。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>

做不到,有人来帮我欣赏一下

你的web.xml里没有HttpSessionEventPublisher

<listener>
    <listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>

这将会话数据添加到您的spring-security.xml创建的SessionRegistry

最新更新