整合shiro ,jwt 報錯Consider defining a bean named 'shiroFilterFactoryBean' in your configuration.

解決方案: 在shiroConfig上的 @bean起這個名字 shiroFilterFactoryBean

@Bean( name="shiroFilterFactoryBean")
public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {
    ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
    shiroFilterFactoryBean.setSecurityManager(securityManager);
    //攔截器
    Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>();
    // 配置不會被攔截的鏈接 順序判斷
    filterChainDefinitionMap.put("/login/**", "anon");
    filterChainDefinitionMap.put("/**.js", "anon");
    filterChainDefinitionMap.put("/druid/**", "anon");
    filterChainDefinitionMap.put("/swagger**/**", "anon");
    filterChainDefinitionMap.put("/**/swagger**/**", "anon");
    filterChainDefinitionMap.put("/webjars/**", "anon");
    filterChainDefinitionMap.put("/v2/**", "anon");
    // 添加自己的過濾器並且取名爲jwt
    Map<String, Filter> filterMap = new HashMap<String, Filter>(1);
    filterMap.put("jwt", new JwtFilter());
    shiroFilterFactoryBean.setFilters(filterMap);
    //<!-- 過濾鏈定義,從上向下順序執行,一般將/**放在最爲下邊
    filterChainDefinitionMap.put("/**", "jwt");
    //未授權界面;
    shiroFilterFactoryBean.setUnauthorizedUrl("/403");
    shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
    return shiroFilterFactoryBean;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章