1. 程式人生 > >shiro中anon配置不生效

shiro中anon配置不生效

再配置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;
        }