在项目中要求使用CAS 5.2+biji-pac4j 4.0.0实现系统的单点登录登出。开始时使用如下配置:
@Bean @Order(Ordered.HIGHEST_PRECEDENCE) public FilterRegistrationBean singleSignOutFilter() { FilterRegistrationBean bean = new FilterRegistrationBean(); bean.setName("singleSignOutFilter"); SingleSignOutFilter singleSignOutFilter = new SingleSignOutFilter(); singleSignOutFilter.setCasServerUrlPrefix(prefixUrl); bean.setFilter(singleSignOutFilter); bean.addUrlPatterns("/*"); bean.setEnabled(true); return bean; }
但是在注入SingleSignOutFilter时会出现javalanglllegalArgumentException:casServerUrlPrefix cannot be null的报错。
断点跟踪发现在初始化SingleSignOutFilter时会调用init方法如下:
public void init(final FilterConfig filterConfig) throws ServletException { super.init(filterConfig);