带有LDAP插件2.0的SonarQube 5.6无法检索外部用户的详细信息

时间:2016-09-14 09:45:34

标签: ldap sonarqube sonarqube-ops

我们正在尝试为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})),它运行正常。我们想知道我们应该如何授权用户。它们是否应该在用户页面中可用(在管理/安全性中)?

1 个答案:

答案 0 :(得分:1)

sonar.properties 中配置ldap.bindDnldap.bindPassword(请参阅LDAP Plugin documentation)。没有它,插件就会回退到匿名访问,因此在大多数环境中,身份验证尝试都会失败。

注意:设置sonar.log.level=DEBUG通常会提供有关潜在问题的详细信息。