【问题标题】:SonarQube 5.6 LDAP (FreeIPA) authenticated users have no groupsSonarQube 5.6 LDAP (FreeIPA) 认证用户没有组
【发布时间】:2017-10-11 14:04:19
【问题描述】:

我在stackoverflow上看到了一些帖子,例如onethis,但问题仍然存在。我将 sonarqube 从 5.3 更新到 5.6。这是我的配置示例:

sonar.security.realm=LDAP
sonar.security.savePassword=false
sonar.security.localUsers=admin
ldap.authentication=simple
ldap.url=ldap://ipa.company.com
ldap.bindDn=uid=ldap_search,cn=users,cn=accounts,dc=company,dc=com
ldap.bindPassword=*************

ldap.user.baseDn=cn=users,cn=accounts,dc=company,dc=com
ldap.user.request=(&(objectClass=inetOrgPerson)(uid={login}))
ldap.user.realNameAttribute=cn
ldap.user.emailAttribute=mail

ldap.group.baseDn=cn=groups,cn=accounts,dc=company,dc=com
ldap.group.request=(&(objectClass=posixGroup)(memberUid={uid}))
ldap.group.idAttribute=cn

问题在于身份验证。如果我创建本地用户,那么我无法使用相同的 LDAP (FreeIPA) 帐户进行身份验证,根据 this docs(本地用户块)。如果我第一次使用 FreeIPA 帐户进行身份验证,我会看到新创建的声纳用户,但它没有组(例如,sonar-users,但他实际上是 sonar-users 的成员> 在 FreeIPA 组中)

这里是 sonarqube 中的测试帐户 - http://joxi.ru/zAN46EXcb9gem9 和 FreeIPA 中的测试帐户 - http://joxi.ru/VrwnzgDcBeGxAX 的示例。 甚至,当我使用管理员登录并添加组以测试用户时,它们会在下次登录后消失。

这是来自 mysql sonar.users db 的示例:

| id | login                    | updated_at    | external_identity        | external_identity_provider | user_local |
| 32 | test                     | 1494580874688 | test                     | sonarqube                  |          0 |

请帮我找到解决办法。

【问题讨论】:

    标签: authentication ldap sonarqube freeipa


    【解决方案1】:

    几周后,我终于找到了正确的解决方案!我意识到问题出在组同步中,因此组同步的正确配置必须类似于您的 FreeIPA 配置的下一个配置:

    ldap.group.baseDn=cn=groups,cn=compat,dc=company,dc=com
    ldap.group.request=(&(objectClass=posixGroup)(memberUid={uid}))
    ldap.group.idAttribute=cn
    

    区别在于 cn=groups,cn=compat,dc=company,dc=com。 您不能将memberUid 过滤器与cn=accounts 一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-30
      • 2018-06-21
      • 1970-01-01
      • 2012-09-10
      • 2015-01-06
      • 1970-01-01
      • 2017-01-22
      • 2011-04-19
      相关资源
      最近更新 更多