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

在这里插入图片描述
由于加上了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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值