sonarqube 5.6和LDAP 2.0认证失败

马特

我正在测试升级到sonarqube 5.6,并安装了ldap 2.0插件并将相关配置复制到我的测试5.6设置中。

相关的配置是

sonar.security.realm=LDAP
ldap.url=ldaps://xxxx:636
ldap.bindDn=uid=xxxx,ou=xxxx,dc=xxxx,dc=xxxx
ldap.bindPassword=xxxx
ldap.user.baseDn=dc=xxxx,dc=com
ldap.user.request=(&(objectClass=person)(mail={login}))
ldap.user.realNameAttribute=cn
ldap.user.emailAttribute=mail

我在conf / sonar.properties中设置了以下内容

sonar.log.level=DEBUG

在启动时,我看到

2016.07.26 23:57:29 INFO  web[o.s.p.l.LdapContextFactory] Test LDAP connection on ldaps://xxxx:636: OK
2016.07.26 23:57:29 INFO  web[org.sonar.INFO] Security realm started

如果尝试登录,则在登录屏幕上会显示“身份验证失败”。日志文件只说什么

2016.07.26 23:57:47 DEBUG web[http] GET / | time=67ms
2016.07.26 23:57:47 DEBUG web[http] GET / | time=187ms
2016.07.26 23:57:47 DEBUG web[http] GET /sessions/new | time=89ms
2016.07.26 23:57:53 DEBUG web[http] POST /sessions/login | time=71ms

相同的配置对sonarqube 4.5.7和ldap 1.4很好用

欢迎就如何进一步调查提出想法。

Nicolas B.-SonarSource团队

你最有可能击中已知问题声纳的7770 -如果LDAP配置已经在升级过程中被遗忘认证失败请注意,针对此问题发出升级说明

最具体地说,别忘了将相关的SonarQube插件及其相关配置复制到“ conf / sonar.properties”中(包括“ sonar.security.realm”和“ sonar.security.localUsers”,如果存在)到新的SonarQube实例中否则,您将在迁移后被锁定。

因此,即使升级过程中也必须有此LDAP配置如果您确实错过了,那么这里最简单的方法是使用正确设置的LDAP相关配置来重放升级。

语境

请记住,在升级期间,SonarQube会更新数据集并将新信息也存储在数据库中(基于新功能)。您的问题是升级是使用部分配置完成的(未设置sonar.security.realmsonar.security.localUsers),SonarQube无法确定用户是否是本地用户,因此默认情况下将其视为本地用户。本地用户不是通过外部身份验证提供程序进行身份验证,而是通过本地身份验证,这的确是我们在您的日志中看到的(并且显然失败了,因为密码位于LDAP服务器中,而不是SonarQube数据库中)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章