若依框架在未登录的情况下访问swagger3.0页面,出现弹窗的解决方法
效果展示:
解决方法:在ShiorConfig.java类中找到shiroFilterFactoryBean方法,然后在filterChainDefinitionMap里面put你要过滤的地址,如下:
ShiorConfig.java在framework.config包下
// 不需要登录访问swagger过滤配置
filterChainDefinitionMap.put("/tool/swagger", "anon,captchaValidate");
根据如上配置完后又出现另一个头疼的问题,也是试了网上各种解决方法
问题如下:
话说这是由于swagger版本问题,目前我用的是swagger 3.0.0版本,各种办法试了都没用。
网上提到:
- 在启动类上加 @EnableSwagger2
- 在启动类增加@EnableOpenApi
都没有用
最终的解决办法:(亲测有效)
同样在上面提到的方法中增加配置:
// 不需要登录访问swagger过滤配置
filterChainDefinitionMap.put("/swagger**/**", "anon");
filterChainDefinitionMap.put("/webjars/**", "anon");
filterChainDefinitionMap.put("/v3/**", "anon");
filterChainDefinitionMap.put("/doc.html", "anon");
filterChainDefinitionMap.put("/tool/swagger", "anon,captchaValidate");
最终效果展示:输入地址 http://localhost:8010/szjjzx/swagger-ui/ 成功打开