SpringCloudOAuth2权限问题

哎码 发布于 05/07 17:03
阅读 598
收藏 0

SpringCloudOAuth2使用过程中碰到个问题,就是资源服务器(ResourceServer)中,有一个路径我设置成了permitAll,然后不带token测试成功,但是带上一个错误的token之后发现返回401错误。

可不可以让permitAll的方法不检查token而是直接返回?

下面是配置代码,其中AuthorizationConfig是feign相关配置没有贴出:

@Configuration
@EnableResourceServer
@Import(AuthorizationConfig.class)
public class Oauth2Config extends ResourceServerConfigurerAdapter {
    @Override
    public void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                // 这里是需要忽略的请求
                .antMatchers(
                        "/actuator/health",
                        "/api/service-a/public"
                ).permitAll()
                // 这是拦截剩余的请求
                .anyRequest().authenticated();

    }
}
加载中
0
isscy
isscy
请问你是怎么进行url 对 不同角色鉴权的?
哎码
哎码
回复 @isscy : 对
isscy
isscy
回复 @哎码 : 你是怎么对业务微服务进行鉴权的? 每个微服务都是一个资源中心, 都向认证中心获取认证信息吗
哎码
哎码
使用SpringSecurity实现的
0
isscy
isscy
请问你是怎么进行url 对 不同角色鉴权的?
0
炸娃程序猿
炸娃程序猿

在springsecurity把

/actuator/health和/api/service-a/public

这两个忽略掉就好了 

 

@Override
public void configure(WebSecurity web) {
    web.ignoring().antMatchers("/actuator/health", "/api/service-a/public");
}
炸娃程序猿
炸娃程序猿
忽略掉就不会走springsecurity的拦截器了
返回顶部
顶部