Springboot Shiro anno不启作用问题及解决
1. 分析
之前在Shiro中没有配置过静态资源过滤,这次在配置过程中给予静态资源anno发现还是会被拦截,查阅其它文章,基本上都是在说LinkedHashMap 过滤次序问题,但我最初就是这个,因此排除。
后再翻阅相关文章的时候,看到了一位博主在文章中说不要将过滤器注册到容器中即可,自己手动创建过滤器!!
然后查看我的代码,果然将过滤器注册到了容器中,将其拿掉,然后在shiroconfig中@Autowired JwtFilter jwtfilter 改成 new JwtFilter()即可。

2. 具体代码
@Bean
public ShiroFilterChainDefinition shiroFilterChainDefinition() {
DefaultShiroFilterChainDefinition chainDefinition = new DefaultShiroFilterChainDefinition();
Map<String, String> filterMap = new LinkedHashMap<>();
// swagger2页面
filterMap.put("/swagger-ui.html", "anon");
filterMap.put("/swagger/**", "anon");
filterMap.put("/swagger-resources/**", "anon");
filterMap.put("/v2/**", "anon");
filterMap.put("/webjars/**", "anon");
filterMap.put("/webjars.bycdao-ui/**", "anon");
filterMap.put("/configuration/**", "anon");
filterMap.put("/doc.html", "anon");
filterMap.put("/**", "jwt"); // 主要通过注解方式校验权限
chainDefinition.addPathDefinitions(filterMap);
return chainDefinition;
}
@Bean("shiroFilterFactoryBean")
public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager,ShiroFilterChainDefinition shiroFilterChainDefinition) {
ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
shiroFilter.setSecurityManager(securityManager);
Map<String, Filter> filters = new HashMap<>();
// ---------------------------------------------------
filters.put("jwt", new JwtFilter()); // 修改处
shiroFilter.setFilters(filters);
Map<String, String> filterMap = shiroFilterChainDefinition.getFilterChainMap();
shiroFilter.setFilterChainDefinitionMap(filterMap);
return shiroFilter;
}
若在JwtFilter 使用到JwtUtil类判断tk是否过期等,而JwtUtil 同样不要注册到容器中,不然可能请求会报错
Not authorized to invoke method
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
在 Spring Boot 中连接 MySQL 数据库的详细步骤
本文介绍了SpringBoot连接MySQL数据库的流程,添加依赖、配置连接信息、创建实体类与仓库接口,通过自动配置实现数据库操作,并提供API测试方法及常见问题解决方案,感兴趣的朋友跟随小编一起看看吧2025-08-08
Java使用FileOutputStream写Excel文件不落盘的解决方法
最近在写 Java 代码处理 Excel 文件的时候,遇到了一个挺头疼的问题:使用 Apache POI 的 XSSFWorkbook.write(FileOutputStream) 方法写文件,生成的 Excel 文件却打不开,所以本文就给大家介绍了Java使用FileOutputStream写Excel文件不落盘的解决方法2025-11-11


最新评论