我已使用自定义身份验证器在演练中启用用户身份验证。
我正在遵循 https://drill.apache.org/docs/creating-custom-authenticators/
的指南
使用硬编码的用户/密码实现该类,创建 jar 并将其放置在 /jars 文件夹中。
能够看到登录屏幕,正在使用用户/密码登录。
这是实现的类 -
@UserAuthenticatorTemplate(type = "myCustomAuthenticatorType")
public class MyCustomDrillUserAuthenticatorImpl implements UserAuthenticator {
public static final String USER = "myuser";
public static final String PASSWORD = "mypassword";
@Override
public void setup(DrillConfig drillConfig) throws DrillbitStartupException {}
@Override
public void authenticate(String userName, String password) throws UserAuthenticationException {
if (!(USER.equals(userName) && PASSWORD.equals(password)) ) {
throw new UserAuthenticationException("Authentication Failed");
}
}
@Override
public void close() throws IOException {}
}
向
drill-override.conf
添加了属性
drill.exec {
security.user.auth {
enabled: true,
packages += "myorg.drill.security",
impl: "myCustomAuthenticatorType"
}
auth.mechanisms: ["PLAIN"]
}
并向
drill-module.conf
添加属性并将该配置文件放入 jar 文件中。
drill {
classpath.scanning {
packages += "myorg.drill.security"
}
}
但是,该用户在钻取 UI 中看不到存储插件选项。它被视为非管理员用户。
如何在演习中设置用户管理员?
我尝试将属性添加到drill-override.conf
security.admin.users : "myuser"
但没有用。
您需要将 管理员角色分配给该用户。