【发布时间】:2016-06-08 12:13:20
【问题描述】:
我们刚刚在测试环境中升级到 SonarQube 5.6。当前的 Sonar 5.2 在生产环境中使用 LDAP 身份验证工作正常。
我可以使用我的 AD 凭据登录,但是当我通过本地管理员帐户检查我的权限时,我没有组成员身份。
此外,除了我在 Sonar 中的原始 LDAP 帐户之外,我现在还有一个语法为 username@domain.com 而不仅仅是用户名的第二个帐户。 我的用户名帐户仍然具有预期的原始组成员身份,但新创建的 username@domain.com 没有。
当我尝试在声纳中手动分配组时,它们会在下次登录时被清除,我相信这是有意的。
我已启用调试日志,这表明它实际上仍然可以从活动目录中找到 memberOf 组,但它没有将它们链接到我的帐户。 Sonar 中仍然存在这些组。
2016.06.08 11:20:55 DEBUG web[o.s.p.l.w.WindowsUsersProvider] Requesting details for user: nico
2016.06.08 11:20:55 DEBUG web[o.s.p.l.w.WindowsAuthenticationHelper] Getting details for user: nico
2016.06.08 11:20:55 DEBUG web[o.s.p.l.w.AdConnectionHelper] Getting active directory bind string for domain: Domain
2016.06.08 11:20:55 DEBUG web[o.s.p.l.w.AdConnectionHelper] Active directory bind string for the domain Domain: LDAP://Domain/DC=domain,DC=com
2016.06.08 11:20:56 DEBUG web[o.s.p.l.w.WindowsAuthenticationHelper] Details for user nico: UserDetails{name=Nico (nico), email=Nico@domain.com, userId=nico@Domain}
2016.06.08 11:20:56 DEBUG web[o.s.p.l.w.WindowsAuthenticationHelper] Authenticating user: nico
2016.06.08 11:21:03 DEBUG web[o.s.p.l.w.WindowsAuthenticationHelper] Getting groups for user: Domain\nico
2016.06.08 11:21:03 DEBUG web[o.s.p.l.w.WindowsAuthenticationHelper] Groups for the user Domain\nico : [Sonar Admins@Domain, Sonar Users@Domain]
2016.06.08 11:21:03 DEBUG web[o.s.s.u.NewUserNotifier] User created: nico@Domain. Notifying NewUserHandler handlers...
我注意到日志中使用的用户名属性看起来不一致。 有一次它说“正在验证用户:nico”,而在另一个“正在获取 Domain\Nico 的组”,最后是“创建的用户 Nico@domain.com” 使用了 3 个不同的用户名。
这是我可以/应该控制的吗?或者这会是 SonarQube 的问题。
期待您的反馈。
尼哥
这是我的 LDAP 配置
# LDAP configuration
# General Configuration
sonar.security.realm: LDAP
sonar.security.savePassword: true
sonar.authenticator.createUsers: true
sonar.security.localUsers: admin,sonar-build
ldap.url: ldap://ipadress:389
ldap.bindDn: CN=SonarUser,OU=Service Accounts,DC=domain,DC=com
ldap.bindPassword: {aes}xxx
# User Configuration
ldap.user.baseDn: DC=domain,DC=com
ldap.user.request: (&(objectClass=user)(sAMAccountName={login}))
ldap.user.realNameAttribute: cn
ldap.user.emailAttribute: mail
# Group Configuration
ldap.group.baseDn: DC=domain,DC=com
ldap.group.request: (&(objectClass=group)(memberUid={uid}))
【问题讨论】:
标签: active-directory ldap sonarqube sonarqube5.6