Настройка управления сеансами Spring Security и исключение IllegalStateException - PullRequest
2 голосов
/ 26 января 2010

Я пытаюсь добавить <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>. Чего мне не хватает?

Ответы [ 3 ]

1 голос
/ 15 июня 2010

Возможно, вы столкнулись с этой ошибкой:

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

Попробуйте использовать последнюю версию (3.0.2.RELEASE).

0 голосов
/ 08 апреля 2010

Возможно, при включении атрибута auto-config="true" в тег <http>, возможно, вам не хватает некоторых необходимых фильтров или настроек.

0 голосов
/ 07 апреля 2010

Это работает для меня

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