2014-04-09 144 views
3

当执行使用Maven的声纳插件声纳分析:接收“未授权”错误

  1. 没有任何其他的变化,除了从SonarQube 3.7升级到4.2
  2. 我们收到以下错误:

    [ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.2:sonar (default- cli) on project museum-mobile: Can not execute SonarQube analysis: Not authorized. Please check the properties sonar.login and sonar.password. -> [Help 1]

  3. 我们的帐户仍被列为“声纳管理员”,具有完全访问权限到所有全局PERMIS sions:管理质量配置文件,管理系统,执行分析,执行预览分析,配置项目,共享仪表盘和过滤器

  4. 当我们使用默认的“admin”帐户运行时,我们能够执行分析。

环境:

  • 视窗7 64位
  • 爪哇JDK 1.6.0_31和1.7.0_25
  • 的Maven 3.0.5
  • 声纳行家-插件2.0和2.3

JIRA开业:MSONAR-66

+0

从哪个版本升级? –

+0

如果您从小于3.7的版本升级,则该帐户可能没有“执行分析”权限。请参阅http://docs.codehaus.org/display/SONAR/Analyzing+with+Maven#AnalyzingwithMaven-配置SonicarQubeAnalysis –

+0

或者这意味着您已激活强制身份验证功能。请参阅http://docs.codehaus.org/display/SONAR/Authentication。 –

回答

5

如果您在声纳安装使用LDAP用户和非LDAP用户到Maven声纳插件,这可以说明问题:

http://sonarqube.15.x6.nabble.com/cannot-login-to-sonar-using-created-user-and-ldap-td5025428.html http://jira.codehaus.org/browse/SONAR-4543

我固定的问题编辑sonar.properties这样的:

# LDAP 
sonar.security.realm=LDAP 
sonar.security.localUsers=admin,jenkinsuser 
ldap.url=.... 
+0

这解释了它。我们将调查离开内部数据库。我想应用程序会在创建内部帐户和使用LDAP时发出警告...... – Jared

+0

是的,我同意警告,但我也觉得这不是那么容易实现。有一个简单的解决方法,打好了。我编辑了我的答案,以明确地显示修复。 – BrunoJCM

0

我发送了3-4封电子邮件,指出我们遇到的问题和问题。我也发了一个Jared和David提到的摘要。

回答上述评论和问题: - Q-你从哪个版本升级? - 西蒙Brandhof昨天 -
3.7 **

Q-如果从一个版本低于3.7升级,那么该帐户有可能不会允许 “执行分析”。请参阅docs.codehaus.org/display/SONAR/... - Simon Brandhof昨天。 - 我们已将其设置给群组中的任何人。我们还将其设置为声纳用户/声纳管理员,这意味着可以访问系统中的所有用户。

问题或者它意味着你已经激活了强制认证功能。请参阅docs.codehaus.org/display/SONAR/Authentication。 - David RACODON - SonarSource昨天

- sonar.forceAuthentication = true已设置为true。是的,这是正确的。
“从SonarQube 3.7升级到4.2” - David M. Karr昨天 - 右。

Q-I添加了上面的每个全局权限。升级从3.7(工作)到4.2(不工作)。我们将检查强制认证功能。这是新的4.2吗?

阅读了关于该功能后,我不确定它将如何解释为什么我的声纳管理员组中的用户无法再执行分析。 - Jared昨天

- 它设置为true,但它是需要的,我们希望用户进行身份验证。

感谢,

Jitesh

0

无论出于何种原因,版本4.2必须使用 “admin” 的用户ID来执行分析。我们能够做的工作解决此bug如下:

  1. 创建一个新的默认管理员用户并将其命名为任何你喜欢的 。我们使用“sonar_admin”。
  2. 对于“admin”用户标识,请确保它具有“执行分析”权限,并且如果您希望它向Sonarqube“供应项目”添加新项目。
  3. 您可以将“admin”的密码更改为您喜欢的任何内容。
  4. 确保在构建脚本中定义sonar.login和sonar.password属性,并将其设置为“admin”用户标识和密码。
+0

正如我的答案所述,“管理员”可能默认工作,因为我们有默认的“sonar.security.localUsers = admin”。 – BrunoJCM

0

你只需要添加以下2个属性得到它的工作 - sonar.lo杜松子酒= sonar.password =

这些属性可以以两种方式被加入: 1.通过与声纳目标 2.将其设置在build.xml中通过设置使用-Dsonar.login =管理员-Dsonar系统属性。密码=密码