java:springboot1.x/springboot2.x配置swagger2登录密码/设置swagger访问权限

需求描述

需要将springboot项目的swagger文档配置为输入用户名密码登录后才可访问,即:
java:springboot1.x/springboot2.x配置swagger2登录密码/设置swagger访问权限_第1张图片

springboot1.x配置方法

  1. 首先需要在pom.xml中引入依赖包(需要确保只引入这一个security包以免冲突):

	org.springframework.boot
	spring-boot-starter-security

  1. 在application.properties中增加如下配置即可:
#增加swagger文档访问验证(也可以自行添加项目下其他需验证的网址)
security.basic.path=/swagger-ui.html,/v2/api-docs
security.basic.enabled=true
security.user.name=自定义用户名
security.user.password=自定义密码
  • 此时通过以下地址访问swagger文档:

ip:port/swagger-ui.html

springboot2.x配置方法

0. 注意:如果你是springboot2.x,并且刚刚尝试使用springboot1.x配置方案没有成功,请务必先进行以下操作(没有的话请跳过):

①删除pom.xml中添加的security包依赖;
②手动删除项目路径下的target文件夹;
③(如果使用Eclipse可以参考下图)Maven update;
④Project clean
个人踩坑记录:即使在pom.xml中删除了引入的依赖包,如果不手动删掉target文件夹并刷新项目,那个不需要引用的包实际还是存在
(遇到其他一些莫名其妙问题也可先删掉target刷新项目看看,所谓遇事不决就重启=。=)
(当然在工作中,千万千万千万。。不要随便重启客户的服务器,不要问我为什么=_=)

java:springboot1.x/springboot2.x配置swagger2登录密码/设置swagger访问权限_第2张图片

  1. 升级swagger依赖包版本,将pom.xml中引入的swagger依赖改为:


	io.springfox
	springfox-swagger2
	2.6.1


	com.github.xiaoymin
	swagger-bootstrap-ui
	1.9.6

  1. 在配置类的类名上增加@EnableSwaggerBootstrapUI注解:
/** 配置类参考代码 **/
@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
public class Swagger2 extends WebMvcConfigurerAdapter {
	@Bean
	public Docket createRestApi() {
		return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
			.apis(RequestHandlerSelectors.basePackage("自定义接口路径"))
			.paths(PathSelectors.any()).build();
	}
}
  1. 在application.properties中增加如下配置即可:
#增加swagger文档访问验证
swagger.production=false
swagger.basic.enable=true
swagger.basic.username=自定义用户名
swagger.basic.password=自定义密码
  • 此时通过以下地址访问swagger文档:

ip:port/doc.html

参考文档

[1] Springboot配置swagger2

你可能感兴趣的:(java,springboot,java,swagger)