一、前言
在使用SpringBoot+Shiro+Mybatis+Swagger开发后台权限管理系统的时候,由于SpringBoot采用了Shiro框架,同时API接口文档使用的Swagger,遇到一个问题,在SpringBoot 集成Shiro后,访问Swagger接口需要登陆才可以,由于在项目成型之前需要做接口测试,所以这里记录下如何在Shiro中放行对Swagger API接口的访问拦截;
二、Shiro放行Swagger
在 Shiro
的配置文件中找到拦截器,将Swagger
接口的路径放行,具体如下所示:
// 放行Swagger相关访问
filterChainDefinitionMap.put("/docs", "anon");
filterChainDefinitionMap.put("/swagger-ui.html", "anon");
filterChainDefinitionMap.put("/webjars/springfox-swagger-ui/**", "anon");
filterChainDefinitionMap.put("/swagger-resources/**", "anon");
filterChainDefinitionMap.put("/v2/api-docs", "anon");
注意: 上面的配置必须放置在下面这行代码之前,不然不会生效:
filterChainDefinitionMap.put("/**", "authc");
三、名词解释
authc
:所有url都必须认证通过才可以访问;anon
:所有url都都可以匿名访问
本文同步分享在 博客“Thinkingcao”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。