前面我们学习了Spring Boot集成swagger2的具体操作,但swagger2默认是没有权限控制的,也就是说如果是在内网行好,要是在公网上使用,那么对应接口文档信息将出现安全问题。
这篇文章我们就结合SpringBoot中SpringSecurity来进行设置,让通过swagger2生成的接口文档也拥有访问权限,并且不影响其他业务的正常使用。
SpringSecurity
目前Web开发常用的两个安全框架:Apache Shiro和Spring Security,Spring Security本身是Spring社区的一个子架构,相对而言对Spring有更好的支持。
默认情况下,Spring Security提供了权限、角色、登录等功能。关于Spring Security的详细功能我们后面会专门用来介绍。这里我们直接按照步骤集成使用即可。
功能实现
在swagger2集成项目的基础上引入Spring Security的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId