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

本是古典 何须时尚 2023-07-04 06:16 96阅读 0赞

解决方案: 在shiroConfig上的 @bean起这个名字 shiroFilterFactoryBean

20200208210647310.png

  1. @Bean( name="shiroFilterFactoryBean")
  2. public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {
  3. ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
  4. shiroFilterFactoryBean.setSecurityManager(securityManager);
  5. //拦截器
  6. Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>();
  7. // 配置不会被拦截的链接 顺序判断
  8. filterChainDefinitionMap.put("/login/**", "anon");
  9. filterChainDefinitionMap.put("/**.js", "anon");
  10. filterChainDefinitionMap.put("/druid/**", "anon");
  11. filterChainDefinitionMap.put("/swagger**/**", "anon");
  12. filterChainDefinitionMap.put("/**/swagger**/**", "anon");
  13. filterChainDefinitionMap.put("/webjars/**", "anon");
  14. filterChainDefinitionMap.put("/v2/**", "anon");
  15. // 添加自己的过滤器并且取名为jwt
  16. Map<String, Filter> filterMap = new HashMap<String, Filter>(1);
  17. filterMap.put("jwt", new JwtFilter());
  18. shiroFilterFactoryBean.setFilters(filterMap);
  19. //<!-- 过滤链定义,从上向下顺序执行,一般将/**放在最为下边
  20. filterChainDefinitionMap.put("/**", "jwt");
  21. //未授权界面;
  22. shiroFilterFactoryBean.setUnauthorizedUrl("/403");
  23. shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
  24. return shiroFilterFactoryBean;
  25. }

发表评论

表情:
评论列表 (有 0 条评论,96人围观)

还没有评论,来说两句吧...

相关阅读