swagger添加权限验证,保证API(接口)安全性

当我们使用swagger,进行接口测试,怕接口不安全,担心暴露。可采用两种方式

1.环境权限配置

对swagger文档配置只在测试环境可访问,生产环境不可访问。

20201126221102683.png

@Profile({"dev","test"})

如以上配置,则只有在dev以及test环境有效,在生产环境不可访问。

2.账户权限配置

在1.9.0版本时,针对Swagger的资源接口,SwaggerBootstrapUi提供了简单的Basic认证功能。

如果是springboot项目可在yml文件配置

首先添加maven依赖

	<dependency>
        <groupId>com.github.xiaoymin</groupId>
        <artifactId>swagger-bootstrap-ui</artifactId>
        <version>1.9.3</version>
    </dependency>

2.1:配置yml文件

1607909854(1).png

swagger:
production: false
basic:
	enable: true
	username: admin
	password: 123456

以上分别为启用,并且用户名为admin.密码为123456。

切记swagger.production 不可设置为true,否则将屏蔽所有资源

2.2:在swaggerConfig中添加注解

@EnableSwaggerBootstrapUI

1607909285(1).png

结果就是此时访问需要通过用户密码才可进行访问

1607909748(1).png

2.3:文档访问

在浏览器输入:http://${host}:${port}/${项目服务主路径}/doc.html

1607909467(1).png


已有 0 条评论

    欢迎您,新朋友,感谢参与互动!