Я обновил приложение GWT/GXT с помощью базовой авторизации LDAP, используя базовую HTTP-аутентификацию. Он работает хорошо, когда я запускаю новый браузер - я получаю приглашение и получаю разрешение на корпоративный LDAP. Моя проблема. Я не могу выйти из системы, если я не закрою/не открою браузер. Я могу отлаживать и видеть, как вызывается SecurityContextLogoutHandler#logout
, и выполняется следующий код
if (invalidateHttpSession) {
HttpSession session = request.getSession(false);
if (session != null) {
session.invalidate();
}
}
SecurityContextHolder.clearContext();
Однако он, похоже, не имеет никакого эффекта, поскольку сайт перезагружается, и я никогда не получаю другое приглашение HTTP auth, если я не перезапущу браузер (даже очистка кэша/файлов cookie не поможет). Здесь соответствующая часть applicationContext.xml
<security:http auto-config='true'>
<security:intercept-url pattern="/reports/**" access="ROLE_USER" />
<security:http-basic />
<security:logout logout-url="/reports/logout"
logout-success-url="/reports/Application.html" />
</security:http>
Я попытался определить пользовательский LogoutSuccessHandler
и сделать authentication.setAuthenticated(false);
, но это также не имеет эффекта
Что-нибудь здесь здесь отсутствует? Ваша помощь будет высоко оценена.