2010-01-26 35 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"屬性的幫助,你可能會丟失一些必需的過濾器或設置。