由于加上了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信息,于是又可以访问通过了。
版权声明:本文为qq_37362891原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。