这是Filter
@Bean(name = "shiroFilter")
public ShiroFilterFactoryBean shiroFilterFactoryBean() {
ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
shiroFilterFactoryBean.setSecurityManager(securityManager());
Map<String, Filter> filters = new LinkedHashMap<>();
//自定义Filter
filters.put("authc", new ShiroFormAuthenticationFilter());
shiroFilterFactoryBean.setFilters(filters);
Map<String, String> filterChainDefinitionManager = new LinkedHashMap<String, String>();
filterChainDefinitionManager.put("/","authc");
shiroFilterFactoryBean.setLoginUrl("/");
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionManager);
shiroFilterFactoryBean.setSuccessUrl("/Success.do");
shiroFilterFactoryBean.setUnauthorizedUrl("/403");
return shiroFilterFactoryBean;
}
这个是我的自定义继承FormAuthenticationFilter
public class ShiroFormAuthenticationFilter extends FormAuthenticationFilter {
@Override
protected boolean onLoginSuccess(AuthenticationToken token, Subject subject, ServletRequest request, ServletResponse response) throws Exception {
System.out.println("------------------------");
String successUrl = "/admin/access/index.html";//我是直接写死了跳转链接
WebUtils.issueRedirect(request,response,successUrl);
return false;//返回false表示执行链结束
}
}
现在问题是我看了网上的教程,说是要继承重新onLoginSuccess方法,但是我的这个自定义的Filter始终没有被执行,SuccessUrl也一直没有跳转
各位大佬 求帮助。。。