【Spring Security】Spring Security 解决swagger无法访问

  • Post author:
  • Post category:其他


在这里插入图片描述

由于加上了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信息,于是又可以访问通过了。

在这里插入图片描述

github地址:

https://github.com/fafeidou/fast-cloud-nacos/tree/master/fast-cloud-nacos-examples/spring-security-examples/security-provider



版权声明:本文为qq_37362891原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。