客户端认证时skip-url失效

Blade 已结 1 15

一、该问题的重现步骤是什么?

1. 原代码,这里没有skip-url的配置

// 设置客户端授权
if (secureRegistry.isClientEnabled() || secureProperties.getClientEnabled()) {
   secureProperties.getClient().forEach(
      clientSecure -> registry.addInterceptor(secureHandler.clientInterceptor(clientSecure.getClientId()))
         .addPathPatterns(clientSecure.getPathPatterns())
   );
}

2. 修改后,就支持了

// 设置客户端授权
if (secureRegistry.isClientEnabled() || secureProperties.getClientEnabled()) {
   secureProperties.getClient().forEach(
      clientSecure -> {
         InterceptorRegistration clientRegistration = registry.addInterceptor(secureHandler.clientInterceptor(clientSecure.getClientId()))
            .addPathPatterns(clientSecure.getPathPatterns());
         // 排除 skip-url 中的路径,避免与 TokenInterceptor 的放行配置冲突
         clientRegistration.excludePathPatterns(secureProperties.getSkipUrl());
         // 同时排除 SecureRegistry 中的排除路径
         clientRegistration.excludePathPatterns(secureRegistry.getExcludePatterns());
         clientRegistration.excludePathPatterns(secureRegistry.getDefaultExcludePatterns());
      }
   );
}

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

4.7.0 企业版

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (最佳回答者)
    1小时前

    下版本更新

    0 讨论(1)
提交回复