2014-04-09 103 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系統屬性。密碼=密碼