再配置shiro的时候,如下代码要注意:
1、下述代码中必须是LinkedHashMap 而不能是HashMap。
2、anon定义必须在authc之前
否则anon定义不生效
@Bean public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager){ ShiroFilterFactoryBean factoryBean = new ShiroFilterFactoryBean(); factoryBean.setSecurityManager(securityManager); // 设置登录跳转 factoryBean.setLoginUrl("/admin"); factoryBean.setSuccessUrl("/admin/index"); //必须为LinkedHashMap 否则anon不生效 Map<String,String> map = new LinkedHashMap<>(); //退出 map.put("/admin/logout","logout"); //登录页面和登录验证不要拦截 map.put("/admin/login.html","anon"); map.put("/admin/tologin","anon"); //设置需要过滤的链接 map.put("/admin/**","authc"); factoryBean.setFilterChainDefinitionMap(map); return factoryBean; }