当前位置 博文首页 > taotao_guiwang的专栏:Shiro中ShiroFilterFactoryBean的filterC

    taotao_guiwang的专栏:Shiro中ShiroFilterFactoryBean的filterC

    作者:[db:作者] 时间:2021-06-30 12:46

    通过DefaultShiroFilterChainDefinition的add设置
    
    DefaultShiroFilterChainDefinition chain = new DefaultShiroFilterChainDefinition();
     chain.addPathDefinition("/**", "jwt[permissive]");//jwt[permissive]就是一个普通的名字而已
    Map<String, String> filterChainDefinitionMap=chain.getFilterChainMap();
    
    自定义一个Map<String, String>设置
    
    Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>();
     //注意过滤器配置顺序 不能颠倒
    //配置退出 过滤器,其中的具体的退出代码Shiro已经替我们实现了,登出后跳转配置的loginUrl
     filterChainDefinitionMap.put("/logout", "logout");
     // 配置不会被拦截的链接 顺序判断
    filterChainDefinitionMap.put("/static/**", "anon");
     filterChainDefinitionMap.put("/ajaxLogin", "anon");
     filterChainDefinitionMap.put("/login", "anon");
     filterChainDefinitionMap.put("/**", "authc");
     //配置shiro默认登录界面地址,前后端分离中登录界面跳转应由前端路由控制,后台仅返回json数据
    shiroFilterFactoryBean.setLoginUrl("/unauth");
     // 登录成功后要跳转的链接
    //shiroFilterFactoryBean.setSuccessUrl("/index");
     //未授权界面;
     //shiroFilterFactoryBean.setUnauthorizedUrl("/403");
     shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
    

    ?