问题描述
我使用的是 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]
解决方法
LDAP: error code 49 - INVALID_CREDENTIALS
表示三件事,用户名/密码不正确或帐户被锁定。您在 Bind user
中遇到此错误。
您需要在配置的拓扑中验证您的systemUsername 和systemPassword。
工具 ldapsearch
可用于验证绑定用户的凭据。
main.ldapRealm.userDnTemplate 应该像下面这样
<param>
<name>main.ldapRealm.userDnTemplate</name>
<value>cn={0},ou=hadoop,ou=personal,ou=accounts,dc=example,dc=com</value>
</param>