启用LDAP时的SonarQube令牌访问

时间:2018-01-19 18:23:44

标签: maven ldap sonarqube sonarqube-scan

刚刚建立了一个全新的SonarQube 6.7.1 服务器,并将其配置为通过LDAP插件( 2.2 build 608 )对用户进行身份验证。到目前为止一切都很好。

但是,当用户尝试运行命令行时,使用带有令牌的maven进行扫描:

mvn sonar:sonar -Dsonar.login=438fd33be6d6e5c9146c674717fea4675f0eb

......他们收到以下错误:

Not authorized. Please check the properties sonar.login and sonar.password.

声纳日志显示:

2018.01.19 18:20:14 DEBUG web[AWELLmgpg7dbJTF2AALW][o.s.p.l.LdapUsersProvider] User 438fd33be6d6e5c9146c674717fea4675f0eb not found in <default> 2018.01.19 18:20:14 DEBUG web[AWELLmgpg7dbJTF2AALW][auth.event] login failure [cause|No user details][method|BASIC][provider|REALM|LDAP]

这使得Sonar的LDAP插件试图在名称为访问令牌的LDAP上查找用户。显然这不起作用!

我们正在使用声纳maven插件版本 3.4.0.905

编辑:同一令牌适用于IntelliJ SonarLint。这似乎指向Maven插件在这里有问题。

1 个答案:

答案 0 :(得分:1)

感谢@agabrys的提示。

运行此Maven命令:

mvn clean verify help:evaluate -Dexpression="sonar.password" -Dsonar.login=438fd33be6d6e5c9146c674717fea4675f0eb

返回:

admin

要接受令牌,密码必须为空。它必须是设置此默认密码的Maven声纳插件!通过以下方式将默认密码设置为空:

mvn clean verify sonar:sonar -Dsonar.password= -Dsonar.login=438fd33be6d6e5c9146c674717fea4675f0eb 

的工作。