Безопасность Spring: Перенаправление к недопустимому URL сессии вместо URL успеха выхода из системы на успешном выходе из системы

Я реализовал систему выхода из системы входа в систему с безопасностью Spring 3.0.2, все хорошо, но для этой вещи: после того, как я добавил, что тег управления сеансами с атрибутом недопустимого URL сессии, на Spring выхода из системы будет всегда перенаправлять меня на недопустимом URL сессии вместо URL успеха выхода из системы (который он правильно сделал прежде).

Существует ли способ избежать этого поведения?

Это - моя конфигурация:

<http use-expressions="true" auto-config="true">
        [...some intercept-url's...]

    <form-login login-page="/login" authentication-failure-url="/login?error=true"
            login-processing-url="/login-submit" default-target-url="/home"
            always-use-default-target="true" />

    <logout logout-success-url="/home?logout=true" logout-url="/login-logout" />

    <session-management invalid-session-url="/home?invalid=true" />
</http>

Большое спасибо.

13
задан Alessandro 8 April 2010 в 15:06
поделиться

1 ответ

Не путайте атрибут logout-url в теге logout с атрибутом invalid-session-url из управления сеансом.

Последний - это URL-адрес для выполнения действия выхода, а первый - это URL-адрес, на который перенаправляется при выходе из системы.

Другими словами, при создании кнопки выхода из системы URL для этой кнопки будет иметь значение logout-url . Теперь, когда выход завершен, Spring Security по умолчанию отобразит путь к корневому приложению основного приложения, то есть: http: // yourserver: yourport / yourwebapp / . Этот путь переопределяется недопустимым URL-адресом сеанса . Таким образом, после выхода вы будете перенаправлены туда.

Подводя итог, если вы не хотите запрашиваемого поведения, не используйте атрибут invalid-session-url . Надеюсь, это поможет.

4
ответ дан 2 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: