JCh*_*JCh 5 ldap sasl active-directory sonarqube sonarqube-ops
我有一个正在运行的 sonarqube 5.5 实例。我想使用 sonar-ldap-plugin 1.5.1 将身份验证和授权委托给我公司的 Active Directory 服务。
LDAP 插件的配置如下(对一些混淆进行取模):
sonar.authenticator.createUsers=false
sonar.security.savePassword=false
sonar.security.realm=LDAP
ldap.url=ldap://host.my.domain
ldap.user.baseDn=OU=Users,OU=Organic Units,DC=my,DC=domain
ldap.user.request=(&(objectClass=user) (sAMAccountName={login}))
ldap.authentication=DIGEST-MD5
ldap.bindDn=CN=harmlessServiceAccount,OU=users,OU=Organic Units,DC=my,DC=domain
ldap.bindPassword=<the user password in clear text>
sonar.log.level=DEBUG
Run Code Online (Sandbox Code Playgroud)
并且sonarqube服务器报告以下错误:
2016.07.13 10:19:38 INFO web[o.s.p.l.LdapContextFactory] Test LDAP connection: FAIL
2016.07.13 10:19:38 ERROR web[o.a.c.c.C.[.[.[/]] Exception sending context initialized event to listener instance of class org.sonar.server.platform.PlatformServletContextListener
java.lang.IllegalStateException: Unable to open LDAP connection
...
Caused by: javax.naming.AuthenticationException: [LDAP: error code 49 - 8009030C: LdapErr: DSID-0C0904DC, comment: AcceptSecurityContext error, data 52e, v1db1^@]
...
Run Code Online (Sandbox Code Playgroud)
我用 ldapsearch 做了完全相同的查询,没有遇到任何问题。所以我认为Active Directory服务是正确的并且接受这个用户和DIGEST-MD5 SASL机制。
我还通过 sonarqube 使用了同一用户和 SIMPLE(不安全)机制,并且它也“正常”工作。我还尝试输入密码的 md5 哈希值而不是密码。我尝试了很多其他我并不自豪的事情......
我在线阅读了许多类似的问题(堆栈溢出,其他来源),但尚未找到解决方案。您发现我的配置有什么问题吗?我是否注定要使用 SIMPLE 机制并让每个人的密码以明文形式移动?我无法使用 CRAM-MD5 和 GSSAPI,因为我公司的活动目录服务不支持它们。
错误代码 49 中有一个子代码,可以告诉您失败原因是什么。您报道:
[LDAP: error code 49 - 8009030C: LdapErr: DSID-0C0904DC, comment: AcceptSecurityContext error, data 52e, v1db1^@]
Run Code Online (Sandbox Code Playgroud)
数据52e部分是关键。
查看我在这里维护的列表,您将看到 52e 意味着您的绑定用户的密码错误。525 对于您的用户来说是错误的 DN,因此您拥有正确的 LDAP DN,但密码错误。
归档时间: |
|
查看次数: |
3455 次 |
最近记录: |