Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用springfox绕过Swagger UI中的授权_Java_Spring Boot_Swagger Ui_Springfox - Fatal编程技术网

Java 如何使用springfox绕过Swagger UI中的授权

Java 如何使用springfox绕过Swagger UI中的授权,java,spring-boot,swagger-ui,springfox,Java,Spring Boot,Swagger Ui,Springfox,当请求来自Swagger UI测试环境时,我需要绕过spring安全性。这样我们就可以快速地进行测试,而不必每次都生成一个新的令牌,因为数据无论如何都是测试的 我的应用程序正在Spring Boot上运行。我实现了Spring安全性,因此用户必须提供有效的访问令牌(头)才能获得有效的响应,否则应用程序将返回HTTP401。它与SpringFox配合得很好,但我需要一种方法来关闭或至少在授权中提供一个静态令牌,这样测试人员就不必对每个请求都这样做 我试着浏览他们的文档,希望找到一个开关,特别是当请

当请求来自Swagger UI测试环境时,我需要绕过spring安全性。这样我们就可以快速地进行测试,而不必每次都生成一个新的令牌,因为数据无论如何都是测试的

我的应用程序正在Spring Boot上运行。我实现了Spring安全性,因此用户必须提供有效的访问令牌(头)才能获得有效的响应,否则应用程序将返回HTTP401。它与SpringFox配合得很好,但我需要一种方法来关闭或至少在授权中提供一个静态令牌,这样测试人员就不必对每个请求都这样做

我试着浏览他们的文档,希望找到一个开关,特别是当请求来自Swagger UI时关闭它

我正在使用: -Springboot 2.0.3 -springfox 2.8.0

用这个

否则

用这个

否则


使用个人资料,我们可以让事情顺利进行。。。。。。spring.profiles.active=swagger…,分别使用websecurity和swagger security config,并允许在swagger配置的安全性中使用所有URL是的,我使用的是spring配置文件,但我只需要绕过swagger的请求,如果用户将使用rest客户端ie:Postman,应该要求它们提供auth头,因为请求不是来自swagger。因此,对于spring.profiles.active=swagger,允许来自swagger的请求,但需要来自其他方面的授权。我在C#框架中看到这项工作,希望Springfox也能有类似的功能。我认为从设计角度来看,这是没有意义的。如果您允许用户访问资源,而不通过swagger进行身份验证,那么当他们通过postman或其他方式访问应用程序时,您为什么要保护他们呢。我认为使用概要文件的建议是正确的,然后有两个不同的构建,一个是在开发中所有东西都是开放的,另一个是所有东西都是安全的,比如QA和更高的环境。使用概要文件,我们可以使这件事工作。。。。。。spring.profiles.active=swagger…,分别使用websecurity和swagger security config,并允许在swagger配置的安全性中使用所有URL是的,我使用的是spring配置文件,但我只需要绕过swagger的请求,如果用户将使用rest客户端ie:Postman,应该要求它们提供auth头,因为请求不是来自swagger。因此,对于spring.profiles.active=swagger,允许来自swagger的请求,但需要来自其他方面的授权。我在C#框架中看到这项工作,希望Springfox也能有类似的功能。我认为从设计角度来看,这是没有意义的。如果您允许用户访问资源,而不通过swagger进行身份验证,那么当他们通过postman或其他方式访问应用程序时,您为什么要保护他们呢。我认为使用概要文件的建议是正确的,然后有两个不同的构建,一个是在dev中所有东西都是开放的,另一个是在QA和更高的环境中所有东西都是安全的。
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class })
@Bean
public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
    http.authorizeExchange().anyExchange().permitAll();
    return http.build();
}