В настоящее время я пытаюсь внедрить клиент CAS, и все работает нормально: процессы аутентификации и выхода из системы работают, как чудо.Вот мой код для процесса единого выхода:
@Bean
public FilterRegistrationBean singleSignOutFilterRegister() {
FilterRegistrationBean registration = new FilterRegistrationBean();
SingleSignOutFilter filter = new SingleSignOutFilter();
Map<String, String> map = new HashMap<String, String>();
map.put("casServerUrlPrefix", this.logoutUrl);
registration.setInitParameters(map);
registration.setFilter(filter);
registration.setEnabled(true);
registration.setOrder(1);
return registration;
}
@EventListener
public SingleSignOutHttpSessionListener singleSignOutHttpSessionListener(HttpSessionEvent event) {
return new SingleSignOutHttpSessionListener();
}
Я сделал это, потому что в каждом уроке, через который я прошел, они говорили, что надо поставить SingleSignOutFilter
и SingleSignOutHttpSessionListener
.Так что это работает, но, углубляясь в каждый из этих классов, я не понимаю полезности / цели / значения SingleSignOutHttpSessionListener
.Если я его удаляю, он все равно работает нормально, но я вижу на этом форуме , что иногда сессия не уничтожается фильтром.
Мой вопрос: какэто может случиться, когда это может случиться, и как воспроизвести это, чтобы проверить это?