2017-05-12 53 views
0

我看到一些帖子在计算器上,就像这个onethis,但问题仍然存在。我将声纳从5.3更新为5.6。以下是我的配置示例:SonarQube 5.6 LDAP(FreeIPA)认证用户没有组

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 

问题在于身份验证。如果我创建本地用户,则根据this文档(本地用户块),我无法使用相同的LDAP(FreeIPA)帐户进行身份验证。如果我验证第一次用​​FreeIPA帐户我看到新创建的声纳的用户,但它没有群体(声纳用户例如,但他其实是声纳用户在FreeIPA组的成员)

这里的sonarqube中的测试帐户示例 - http://joxi.ru/zAN46EXcb9gem9,以及FreeIPA中的测试帐户 - http://joxi.ru/VrwnzgDcBeGxAX。 即使我用admin登录并添加组来测试用户,他们在下次登录后就会消失。

这里的例子从MySQL sonar.users分贝:

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

请帮我找到一个解决方案。

回答

0

几个星期后,我终于找到正确的解决方案!我意识到这个问题是组同步,为组同步必须如此正确的配置看起来像下一个你FreeIPA配置:

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

的区别是在CN =组,CN = COMPAT,DC =公司,DC =融为一体。 您不能使用memberUid过滤器与。