2010-01-26 40 views
2

我试图在我的Spring Security命名空间配置中添加<session-management>,以便在会话超时时提供与登录页面不同的消息。只要将它添加到我的配置中,它就会在我访问应用程序时开始抛出“IllegalStateException:响应已被提交后无法创建会话”。Spring安全会话管理设置和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>行添加。我错过了什么?

回答

0

这对我的作品

<session-management invalid-session-url="/taac/login"> 
    <concurrency-control max-sessions="1" error-if-maximum-exceeded="true" /> 
</session-management> 
0

也许包括在<http>标签的auto-config="true"属性的帮助,你可能会丢失一些必需的过滤器或设置。