
由于加上了security,访问swagger就会出现下面这个问题,这是由于对每个到达系统的http请求链接进行校验,有的连接需要暴露出来

1.解决方法
1.1 排除拦截
将swagger的访问路径,给排除掉,这样就解决了。
@Configuration
@EnableResourceServer
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)//激活方法上的PreAuthorize注解
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
//Http安全配置,对每个到达系统的http请求链接进行校验
@Override
public void configure(HttpSecurity http) throws Exception {
//所有请求必须认证通过
http.authorizeRequests()
//下边的路径放行
.antMatchers("/v2/api-docs", "/swagger-resources/configuration/ui",
"/swagger-resources", "/swagger-resources/configuration/security",
"/swagger-ui.html", "/webjars/**").permitAll()
.anyRequest().authenticated();
}
}
我们在使用swagger时,访问后端接口都需要加上header,这个问题怎么解决?
之前写过一篇博客,如何是swagger走向配置话,里面配了请求头。

点开把我们的token发到里面就可以了。

再次访问我们的接口是,可以看到swagger已经为我们添加上了token信息,于是又可以访问通过了。

本文详细介绍了在Spring Security环境下,如何配置Swagger以避免HTTP请求被拦截的问题,并提供了具体的代码示例。同时,针对访问后端接口时需添加Header的情况,给出了在Swagger中配置请求头的解决方案。
5157

被折叠的 条评论
为什么被折叠?



