dremio AuthProvider 简单说明

AuthProvider 是在authenticator 模块中提供的接口定义,目前实现包括了LocalUsernamePasswordAuthProvider以及DremioAccessTokenAuthProvider
LocalUsernamePasswordAuthProvider 是目前社区版使用的,DremioAccessTokenAuthProvider 尽管在oss 代码中但是没用到,LocalUsernamePasswordAuthProvider 实际使用到的地方主要是 rpc 服务中,对于rpc 目前包括了传统的以及flight sql flight sql 处理部分稍有不同后边单独说明下

AuthProvider 实现子类

可以看到包含了基于用户密码的以及accesstoken 的accesstoken 没有

使用

目前LocalUsernamePasswordAuthProvider的使用主要在BasicAuthenticator中BasicAuthenticator 主要是rpc 使用的

  • BasicAuthenticator 使用
public class BasicAuthenticator implements Authenticator {
 
  private final Provider<LocalUsernamePasswordAuthProvider> usernamePasswordAuthProviderProvider;
 
  private LocalUsernamePasswordAuthProvider usernamePasswordAuthProvider;
 
  public BasicAuthenticator(
      Provider<LocalUsernamePasswordAuthProvider> usernamePasswordAuthProviderProvider) {
    this.usernamePasswordAuthProviderProvider = usernamePasswordAuthProviderProvider;
  }
 
  @Override
  public void start() {
    usernamePasswordAuthProvider = usernamePasswordAuthProviderProvider.get();
  }
 
  /** Validates username/password. */
  @Override
  @NotNull
  public AuthResult authenticate(AuthRequest request) throws AuthException {
    return usernamePasswordAuthProvider.validate(request);
  }
}

说明

dremio 社区版的认证处理比较简单,目前AuthProvider 主要是rpc服务使用,web 登陆没有直接使用auth ,而且自己使用的userservice 进行处理的
Authenticator 部分后边单独说明下

参考资料

services/authenticator/src/main/java/com/dremio/authenticator/AuthProvider.java
services/users/src/main/java/com/dremio/service/users/LocalUsernamePasswordAuthProvider.java
services/tokens/src/main/java/com/dremio/service/tokens/DremioAccessTokenAuthProvider.java
services/tokens/src/main/java/com/dremio/service/tokens/TokenManager.java
services/tokens/src/main/java/com/dremio/service/tokens/TokenManagerImpl.java
services/authenticator/src/main/java/com/dremio/authenticator/Authenticator.java
services/users/src/main/java/com/dremio/service/users/BasicAuthenticator.java
sabot/kernel/src/main/java/com/dremio/sabot/rpc/user/UserServer.java
dac/backend/src/main/java/com/dremio/dac/resource/LogInLogOutResource.java
sabot/kernel/src/main/java/com/dremio/sabot/rpc/user/UserRPCServer.java
services/arrow-flight/src/main/java/com/dremio/service/flight/DremioFlightAuthProviderImpl.java
services/arrow-flight/src/main/java/com/dremio/service/flight/auth/DremioFlightServerBasicAuthValidator.java

posted on   荣锋亮  阅读(9)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2023-05-07 qdrant 向量数据库
2022-05-07 localstack 的域名访问机制简单说明
2022-05-07 localstack 试用
2022-05-07 localstack 强大的云服务环境模拟器
2022-05-07 使用glowroot apm分析dremio 调用
2021-05-07 nginx service-mesh ga了
2021-05-07 cubestore driver 添加auth认证

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示