shiro 集成swagger,anon不生效问题

@Bean("shiroFilter")
public ShiroFilterFactoryBean factory(DefaultWebSecurityManager securityManager) {
    ShiroFilterFactoryBean factoryBean = new ShiroFilterFactoryBean();

    // 添加自己的过滤器并且取名为jwt
    Map<String, Filter> filterMap = new HashMap<>();
    filterMap.put("jwt", new JWTFilter());
    factoryBean.setFilters(filterMap);
    factoryBean.setSecurityManager(securityManager);
    /*
     * 自定义url规则
     * http://shiro.apache.org/web.html#urls-
     */
    Map<String, String> filterRuleMap = new HashMap<>();
    filterRuleMap.put("/user/druid/**", "anon");
    //放行webSocket
    filterRuleMap.put("/user/websocket/*", "anon");
    //放行swagger
    filterRuleMap.put("/user/v2/api-docs", "anon");
    filterRuleMap.put("/user/swagger-resources", "anon");
    filterRuleMap.put("/user/swagger-resources/**", "anon");
    filterRuleMap.put("/user/swagger-ui.html/**", "anon");
    // 所有请求通过我们自己的JWT Filter
    filterRuleMap.put("/**", "jwt");
    factoryBean.setFilterChainDefinitionMap(filterRuleMap);
    return factoryBean;
}

anon过滤不生效,把 Map<String, String> filterRuleMap = new HashMap<>();

修改为Map<String, String> filterRuleMap = new LinkedHashMap<>();

 


版权声明:本文为u014594604原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。