我们刚刚在测试环境中对SonarQube 5.6进行了升级。目前的Sonar 5.2在使用LDAP身份验证的生产中运行良好。
我可以使用我的AD凭据登录,但是当我通过本地管理员帐户检查我的权限时,我没有组成员身份。
此外,除了我在Sonar的原始LDAP帐户外,我现在拥有第二个帐户,其语法为username@domain.com,而不仅仅是用户名。 我的用户名帐户仍具有预期的原始群组成员资格,但新创建的username@domain.com不会。
当我尝试在声纳中手动分配组时,它们会在下次登录时被清除,这是我认为的。
我已启用调试日志,这表明它确实仍然从活动目录中找到memberOf组,但它没有将它们链接到我的帐户。 这些团体仍然存在于声纳中。
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...
我注意到的日志是使用的用户名属性看起来不一致。 有一次它说'#34;认证用户: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}))
答案 0 :(得分:3)
我找到了这个博客页面,它描述了LDAP插件中的更改
它确认了我遇到的问题以及我今天仍有重复用户帐户的问题。
希望这有助于其他人。
尼科
答案 1 :(得分:0)
我遇到了类似的问题,并通过在SonarQube中创建一个与WindowsAuthenticationHelper发现的组匹配的组来解决问题。
在您的情况下,这意味着您需要一个名为Sonar Admins@Domain
或Sonar Users@Domain
的SonarQube群组。
再次登录时,用户将自动添加到该组中。
答案 2 :(得分:0)
可以使用新的Active Directory插件,而不是LDAP插件。请注意,截至本文,它仍然是候选版本(RC)。此版本不会显示在更新中心中。
https://github.com/SonarQubeCommunity/sonar-activedirectory/
该插件可在发行版标签上下载。
韦斯