安全访问主要分以下两种:
1.环境的安全隔离。swagger基本上把项目所有的请求接口都罗列出了,而且支持接口在线调试,所以线上环境不应该开启swagger接口功能,试想如果开启了swagger功能,哪位开发测试人员,通过swagger就可以任意访问线上接口了,这显然是不安全的。
2.接口调试访问权限认证。我们的很多接口都是需要登录后才能访问及操作,为了安全起见,用swagger也不能例外。
一、环境的安全隔离
swagger接口文档适用环境配置
进行swagger环境配置配置说明之前,本文主要简单介绍结合maven使用的环境管理方式,其他方式大同小异,无非是通过设置环境变量或者手动设置启动版本激活属性设置运行时配置参数,其实我理解的不管用什么方式,无非是达到动态配置spring.profiles.active属性的目的。
maven版本控制
想要通过maven进行项目环境变量管理,只需要在pom文件里面增加profiles配置项就好了,大概格式如下:
<profiles>
<profile>
<id>pro</id>
<properties>
<label>pro</label>
<web.port>8080</web.port>
<swagger.enable>false</swagger.enable>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<label>test</label>
<web.port>8080</web.port>
<swagger.enable>true</swagger.enable>
</properties>
</profile>
<profile>
<id>local</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<label>localhost</label>