shiro中我们可以通过自定义过滤器的方式来实现自己想要的结果,比如想要登陆之后跳转不同页面
@Bean(name = "shiroFilter")
public ShiroFilterFactoryBean getShiroFilterFactoryBean(DefaultWebSecurityManager securityManager,
AuthenticationFilter authenticationFilter) {
ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
shiroFilterFactoryBean.setSecurityManager(securityManager);
shiroFilterFactoryBean.setSuccessUrl("/");
shiroFilterFactoryBean.setLoginUrl("/login");
shiroFilterFactoryBean.setUnauthorizedUrl("/login");
filterChainDefinitionMap.put("/login", "authc");
filterChainDefinitionMap.put("/logout", "logout");
filterChainDefinitionMap.put("/", "authc");
Map<String, Filter> filtersMap = new LinkedHashMap<String, Filter>();
filtersMap.put ("authc",new LoginFormAuthenticationFilter());//自定义登陆的过滤器
filtersMap.put ("logout",new LogoutFormAuthenticationFilter());//自定义退出的过滤器
shiroFilterFactoryBean.setFilters (filtersMap);
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
return shir