Apache Knox LDAP 集成失败

问题描述

我使用的是 Apacheknox 1.0.0 版。我曾尝试使用 Ldap 用户对 Knox ui 进行身份验证。我已经尝试在 knox 中进行以下更改

 In ambari --> knox-->config-->Advanced topology           

            
<param>
<name>main.ldapRealm.userDnTemplate</name>
<value>cn=admin</value>
</param>
<param>
<name>main.ldapRealm.contextFactory.url</name>
<value>ldap://x.x.x.x:10390</value>
</param>

首先我只为单个用户尝试。我尝试过不同的用户搜索但不走运我总是遇到与下面相同的错误

2021-01-29 10:22:07,266 ERROR knox.gateway (KnoxLdapRealm.java:doGetAuthenticationInfo(206)) - Shiro unable to login: javax.naming.AuthenticationException: [LDAP: error
 code 49 - INVALID_CREDENTIALS: Bind Failed: Invalid authentication]

enter image description here

解决方法

LDAP: error code 49 - INVALID_CREDENTIALS 表示三件事,用户名/密码不正确或帐户被锁定。您在 Bind user 中遇到此错误。

您需要在配置的拓扑中验证您的systemUsernamesystemPassword

工具 ldapsearch 可用于验证绑定用户的凭据。

ma​​in.ldapRealm.userDnTemplate 应该像下面这样

<param>
<name>main.ldapRealm.userDnTemplate</name>
<value>cn={0},ou=hadoop,ou=personal,ou=accounts,dc=example,dc=com</value>
</param>