1

我们正在尝试为 SonarQube 5.6 配置 LDAP 2.0 插件,以便能够对我们 AD 域中的用户进行身份验证。在 sonar.log 中,我们得到以下反馈:

2016.09.12 10:55:16 INFO web[osspServerPluginRepository] ​​Deploy plugin C# / 5.3.1 / 6d9c99cb816b5d82ee23b51dbb05f9ee37a3bf2d 2016.09.12 10:55:16 INFO web[osspServerPluginRepository] ​​Deploy plugin JavaScript / 2.11 / a9b1afa9ceef7079811779d9efc5f8026acb1400 2016.09.12 10:55:16 INFO web[osspServerPluginRepository] ​​Deploy plugin LDAP / 2.0 / 2910f3981167a70a201ccfae01471dfd26c794b7 2016.09.12 10:55:16 INFO web[osspServerPluginRepository] ​​Deploy plugin Web / 2.4 / 61c14c00da36f77d18c019ad2bd7942708e99c13 2016.09.12 10:55:16 INFO web[osdcMssqlCharsetHandler] Verify that database columns are区分大小写和重音 2016.09.12 10:55:16 INFO web[osspRailsAppsDeployer] 部署 Ruby on Rails 应用程序 2016.09.12 10:55:16 INFO web[osspRailsAppsDeployer] 部署应用程序:ldap 2016.09.12 10:55:18 INFO web[osspUpdateCenterClient] 更新中心: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 [osplLdapSettingsManager] 用户映射:LdapUserMapping{baseDn=ou=****,dc=****,dc=****, request=(&(objectClass=User)(sAMAccountName={0})), realNameAttribute =Displayname, emailAttribute=mail} 2016.09.12 10:55:18 INFO web[osplLdapSettingsManager] 组映射:LdapGroupMapping{baseDn=ou=****,dc=****,dc=****, idAttribute= cn, requiredUserAttributes=[dn], request=(&(objectClass=Group)(name={0}))} 2016.09.12 10:55:18 INFO web[osplLdapContextFactory] ​​在 ldap://*** 上测试 LDAP 连接*:389: 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})),它工作正常。我们想知道我们应该如何授权用户。它们是否应该在用户页面中可用(在管理/安全中)?

4

1 回答 1

1

在您的sonar.properties中配置ldap.bindDn和(请参阅LDAP 插件文档)。没有它,插件将退回到匿名访问,在大多数环境中,身份验证尝试将因此失败。ldap.bindPassword

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

于 2016-09-14T12:25:44.330 回答