2

我正在尝试添加<session-management>我的 Spring Security 命名空间配置,以便在会话超时时提供与登录页面不同的消息。一旦我将它添加到我的配置中,它就会在我访问应用程序时开始抛出“IllegalStateException:在响应提交后无法创建会话”。

我正在使用 Spring Security 3 和 Tomcat 6。这是我的配置:

<http>
    <intercept-url pattern="/go.htm" access="ROLE_RESPONDENT" />
    <intercept-url pattern="/complete.htm" access="ROLE_RESPONDENT" />                          
    <intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    <form-login login-processing-url="/j_spring_security_check" 
                login-page="/login.htm" 
                authentication-failure-url="/login.htm?error=true" 
                default-target-url="/go.htm"
    />      
    <anonymous/>
    <logout logout-success-url="/logout_message.htm"/>  
    <session-management invalid-session-url="/login.htm" />     

</http>

一切都很好,直到我加入这一<session-management>行。我错过了什么?

4

3 回答 3

1

您可能遇到了这个错误:

https://jira.springsource.org/browse/SEC-1346

Try using the up-to-date version (3.0.2.RELEASE).

于 2010-06-15T19:51:55.313 回答
0

这对我有用

<session-management invalid-session-url="/taac/login">
    <concurrency-control max-sessions="1" error-if-maximum-exceeded="true" />
</session-management>
于 2010-04-07T18:19:47.333 回答
0

也许auto-config="true"在标签中包含属性<http>会有所帮助,您可能会缺少一些必需的过滤器或设置。

于 2010-04-08T14:43:51.000 回答