Когда я использую springBoot для интеграции клиента Cas, в моем приложении я расширил Cas20ProxyReceivingTicketValidationFilter и попытался переопределить метод onSuccessfulValidation, чтобы сделать что-то, но программа не берет мой перегруженный код (onSuccessfulValidation) при отладке, и мой кодследующим образом:
CustomCasTicketValidationFilter.java
public class CustomCasTicketValidationFilter extends Cas20ProxyReceivingTicketValidationFilter{
@Override
protected void initInternal(FilterConfig filterConfig) throws ServletException {
super.initInternal(filterConfig);
}
@Override
protected void onSuccessfulValidation(HttpServletRequest request, HttpServletResponse response, Assertion assertion) {
setRedirectAfterValidation(true);
if (assertion == null || assertion.getPrincipal() == null) {
return;
}
}
@Override
protected void onFailedValidation(HttpServletRequest request, HttpServletResponse response) {
}
}
CasConfig.java
@Bean
public FilterRegistrationBean registTicketValidationFilter() {
final FilterRegistrationBean registrationBean = new FilterRegistrationBean();
registrationBean.setFilter(new CustomCasTicketValidationFilter());
registrationBean.setName("CAS Validation Filter");
registrationBean.addInitParameter("casServerUrlPrefix", "http://xxx:8086/cas");
registrationBean.addInitParameter("serverName", "http://localhost");
registrationBean.setOrder(Ordered.LOWEST_PRECEDENCE);
return registrationBean;
}