我目前尝试实现一个 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();
}
我这样做是因为在我经历过的每个教程中,他们都说要放 aSingleSignOutFilter
和SingleSignOutHttpSessionListener
. 所以它有效,但是深入研究这些类中的每一个,我不了解SingleSignOutHttpSessionListener
. 如果我删除它,它仍然可以正常工作,但我在这个论坛中看到,有时会话不会被过滤器破坏。
我的问题是:它是如何发生的,什么时候发生的,以及如何重现它来测试它?