我们正在尝试为SonarQube 5.6配置LDAP 2.0插件,以便能够对AD域中的用户进行身份验证。在sonar.log中,我们得到以下反馈:
2016.09.12 10:55:16 INFO web [o.s.s.p.ServerPluginRepository]部署插件C#/ 5.3.1 / 6d9c99cb816b5d82ee23b51dbb05f9ee37a3bf2d 2016.09.12 10:55:16 INFO web [o.s.s.p.ServerPluginRepository]部署插件JavaScript / 2.11 / a9b1afa9ceef7079811779d9efc5f8026acb1400 2016.09.12 10:55:16 INFO web [o.s.s.p.ServerPluginRepository]部署插件LDAP / 2.0 / 2910f3981167a70a201ccfae01471dfd26c794b7 2016.09.12 10:55:16 INFO web [o.s.s.p.ServerPluginRepository]部署插件Web / 2.4 / 61c14c00da36f77d18c019ad2bd7942708e99c13 2016.09.12 10:55:16 INFO web [o.s.d.c.MssqlCharsetHandler]验证数据库列是否区分大小写并且区分重音 2016.09.12 10:55:16 INFO web [o.s.s.s.p.RailsAppsDeployer]部署Ruby on Rails应用程序 2016.09.12 10:55:16 INFO web [o.s.s.p.RailsAppsDeployer]部署app:ldap 2016.09.12 10:55:18 INFO web [o.s.s.s.p.UpdateCenterClient]更新中心:http://update.sonarsource.org/update-center.properties(否 代理) 2016.09.12 10:55:18 INFO web [org.sonar.INFO]安全领域:LDAP 2016.09.12 10:55:18 INFO web [o.s.p.l.LdapSettingsManager]用户映射:LdapUserMapping {baseDn = ou = ****,dc = ****,dc = ****, 请求=(及(objectClass的=用户)(sAMAccountName赋= {0})), realNameAttribute = Displayname,emailAttribute = mail} 2016.09.12 10:55:18 INFO web [o.s.p.l.LdapSettingsManager]组映射:LdapGroupMapping {baseDn = ou = ****,dc = ****,dc = ****,idAttribute = cn, requiredUserAttributes = [dn],request =(&(objectClass = Group)(name = {0}))} 2016.09.12 10:55:18 INFO web [o.s.p.l.LdapContextFactory]在ldap:// ****:389上测试LDAP连接:OK 2016.09.12 10:55:18 INFO web [org.sonar.INFO]安全领域开始
安全领域已启动,但登录尝试永远不会成功。在sonar.log中,我们在登录尝试期间收到以下错误:
错误web [rails]来自外部用户提供程序的错误:异常 Java :: OrgSonarApiUtils :: SonarException:无法检索详细信息
中的用户****
我们在sonar.properties中添加了以下配置:
# LDAP configuration
# General Configuration
sonar.security.realm=LDAP
ldap.url: ldap://****:389
sonar.forceAuthentication=true
ldap.windows.compatibilityMode = true
# User Configuration
ldap.user.baseDn=ou=***,dc=***,dc=***
ldap.user.request=(&(objectClass=User)(sAMAccountName={login}))
ldap.user.realNameAttribute=Displayname
ldap.user.emailAttribute=mail
# Group Configuration
ldap.group.baseDn=ou=***,dc=***,dc=***
ldap.group.request=(&(objectClass=Group)(name={dn}))
在管理中,我们也无法找到用户。我们已经使用其他工具测试了请求查询(&(objectClass = User)(sAMAccountName = {login})),它运行正常。我们想知道我们应该如何授权用户。它们是否应该在用户页面中可用(在管理/安全性中)?
答案 0 :(得分:1)
在 sonar.properties 中配置ldap.bindDn
和ldap.bindPassword
(请参阅LDAP Plugin documentation)。没有它,插件就会回退到匿名访问,因此在大多数环境中,身份验证尝试都会失败。
注意:设置sonar.log.level=DEBUG
通常会提供有关潜在问题的详细信息。