【问题标题】:spring session management not working春季会话管理不起作用
【发布时间】:2011-12-17 00:04:05
【问题描述】:

在我的 spring 应用程序中,我添加了 spring 安全性。下面我提到了我的安全 xml 文件。

<security:http auto-config="true">
        <security:form-login login-page="/login" default-target-url="/businessCategory"
            authentication-failure-url="/login?error=1"   />
            <security:logout  logout-success-url="/businessCategory" />  
    </security:http>

这对我来说很好。 然后我为我的应用程序添加一个会话管理。之后我的安全性如下所示

<security:http auto-config="true">
        <security:form-login login-page="/login" default-target-url="/businessCategory"
            authentication-failure-url="/login?error=1"   />
            <security:logout  logout-success-url="/businessCategory" />  
         **<security:session-management invalid-session-url="/ticketslk/sessionExpire"/>**
    </security:http>

然后我重新启动服务器并运行它进入会话过期页面的应用程序。
然后我再次输入网址并运行它完美无缺。每次服务器重新启动时,应用程序都会第一次进入会话过期页面。我不明白为什么会这样。有没有人可以帮助我。如何解决这个问题

我在 web.xml 中添加了安全过滤器链

  <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>

【问题讨论】:

    标签: security spring session


    【解决方案1】:

    这里没有问题。

    浏览器将会话 id 存储在 cookie 中,并在访问服务器时使用它。每次重新启动服务器时,cookie 中的会话 id 就不再有效。因此会话过期消息。

    要对其进行测试,请在重新启动服务器后并在访问服务器之前,从浏览器中删除会话 cookie。你不应该得到会话过期页面。

    【讨论】:

    • 它工作正常。感谢 Raguram 解决我的问题。真的我以前不知道。Grate 帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    • 2014-02-19
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多