声纳分析需要任何人权限时进行身份验证

问题描述 投票:0回答:8

声纳库5.5 几个Java项目,都将权限设置为任何人都可以执行分析。 使用 mvn sonar:sonar 运行分析 其他项目工作正常,没有错误。 发现一个项目没有设置权限。它正在给予:

未经授权。分析该项目需要经过身份验证。 请提供属性 sonar.login 和的值 声纳.密码。

设置权限并不能解决问题。该项目继续出现此错误。

采取的步骤:

  • 正在“项目权限”页面上设置权限,将“Anyone”组添加到“EXECUTE ANALYSIS”权限。用户 0,群组 1

  • 关闭权限然后再次打开。

  • 重新启动服务器。
  • 删除本地声纳/缓存

有两个名称相同但密钥不同的项目。 QA 版本和发布。

不确定下一步要尝试什么。


------ 短日志 --- mvn -X 如下

[INFO] 
[INFO] --- sonar-maven-plugin:3.0.2:sonar (default-cli) @ adminportal-api ---
[INFO] User cache: /Users/kenhargreaves/.sonar/cache
[INFO] Load global repositories
[INFO] Load global repositories (done) | time=265ms
[INFO] User cache: /Users/kenhargreaves/.sonar/cache
[INFO] Exclude plugins: devcockpit, buildstability, pdfreport, report, scmstats, buildbreaker, views, jira
[INFO] Load plugins index
[INFO] Load plugins index (done) | time=16ms
[INFO] SonarQube version: 5.5
[INFO] Default locale: "en_US", source code encoding: "UTF-8"
[INFO] -- Cache for project [com.fusemail:adminportal-api] not found, synchronizing data..
[INFO] Load rules
[INFO] Load rules (done) | time=244ms
[INFO] Load project settings
[INFO] Load project settings (done) | time=182ms
[INFO] Load project quality profiles
[INFO] Load project quality profiles (done) | time=59ms
[INFO] Load project active rules
[INFO] Load project active rules (done) | time=888ms
[INFO] Load server issues
[INFO] Load server issues (done) | time=844ms
[INFO] Load user information
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.221 s
[INFO] Finished at: 2016-07-22T11:39:38-07:00
[INFO] Final Memory: 65M/470M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:sonar (default-cli) on project adminportal-api: Not authorized. Analyzing this project requires to be authenticated. Please provide the values of the properties sonar.login and sonar.password. -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 

-----------------
INFO] Default locale: "en_US", source code encoding: "UTF-8"
[DEBUG] Work directory: /Users/kenhargreaves/Documents/workspace/fm-api-portalapi/target/sonar
[DEBUG] Execution getVersion
[DEBUG] Execution execute
[DEBUG] cache: /Users/kenhargreaves/.sonar/ws_cache/http%3A%2F%2Fsonarqube.electric.net/5.5/projects/com.fusemail%3Aadminportal-api
[INFO] -- Cache for project [com.fusemail:adminportal-api] not found, synchronizing data..
[INFO] Load rules
[DEBUG] GET 200 http://sonarqube.electric.net/api/rules/list.protobuf | time=100ms
[INFO] Load rules (done) | time=176ms
[INFO] Load project settings
[DEBUG] GET 200 http://sonarqube.electric.net/batch/project.protobuf?key=com.fusemail%3Aadminportal-api&issues_mode=true | time=53ms
[INFO] Load project settings (done) | time=158ms
[INFO] Load project quality profiles
[DEBUG] GET 200 http://sonarqube.electric.net/api/qualityprofiles/search.protobuf?projectKey=com.fusemail%3Aadminportal-api | time=41ms
[INFO] Load project quality profiles (done) | time=53ms
[INFO] Load project active rules
[DEBUG] GET 200 http://sonarqube.electric.net/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=c-sonar-way-50322&p=1&ps=500 | time=128ms
[DEBUG] GET 200 http://sonarqube.electric.net/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=cpp-sonar-way-23842&p=1&ps=500 | time=160ms
[DEBUG] GET 200 http://sonarqube.electric.net/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=java-sonar-03590&p=1&ps=500 | time=64ms
[DEBUG] GET 200 http://sonarqube.electric.net/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=js-sonar-way-84357&p=1&ps=500 | time=103ms
[DEBUG] GET 200 http://sonarqube.electric.net/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=objc-sonar-way-52782&p=1&ps=500 | time=123ms
[DEBUG] GET 200 http://sonarqube.electric.net/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=py-sonar-way-75611&p=1&ps=500 | time=69ms
[INFO] Load project active rules (done) | time=728ms
[INFO] Load server issues
[DEBUG] GET 200 http://sonarqube.electric.net/batch/issues.protobuf?key=com.fusemail%3Aadminportal-api | time=333ms
[INFO] Load server issues (done) | time=524ms
[INFO] Load user information
[DEBUG] GET 401 http://sonarqube.electric.net/batch/users?logins=axxx.mxxxx | time=31ms
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.647 s
[INFO] Finished at: 2016-07-22T11:42:01-07:00
[INFO] Final Memory: 66M/467M

我们看到的用户确实在 sonarqube 服务器中有一个帐户,我确实删除了他,看看会发生什么。

sonarqube sonarqube-scan
8个回答
43
投票

转到 SonarQube 网页、管理,然后转到安全并禁用“强制用户身份验证”。


17
投票

您是否在 SonarQube 中强制进行身份验证?

如果是这种情况,您基本上需要:

  1. 在 SonarQube 中为用户帐户生成令牌
  2. 在环境变量中公开令牌,如下所示
    SONAR_TOKEN

    export SONAR_TOKEN="<your_token>"
    (bash/GitBash)
    SET SONAR_TOKEN="<your_token>"
    (蝙蝠/Windows)
  3. 在 Maven 命令中使用令牌,例如:
    mvn ... sonar:sonar -Dsonar.login=$SONAR_TOKEN
    (bash/GitBash)
    mvn ... sonar:sonar -Dsonar.login=%SONAR_TOKEN%
    (蝙蝠/Windows)

这在 Sonarqube 授权 - 如何在启用 sonar.forceAuthentication 时使用 sonar-maven-plugin 进行授权中进行了广泛讨论。


4
投票

在尝试使用最新 sonerQube 的声纳扫描仪时,出现以下错误

错误:未授权。分析该项目需要 已验证。请提供 sonar.login 属性的值 和声纳.密码。

解决方案是在项目根配置文件中添加 sonar.login 和 sonar.password 属性。您可以在声纳扫描仪运行期间找到它的路径

信息:扫描仪配置文件: /Users//.sonar/native-sonar-scanner/sonar-scanner-4.4.0.2170-macosx/conf/sonar-scanner.properties

使用以下属性更新此文件 声纳.登录= 声纳.密码=

再试一次,您的问题应该可以得到解决。


3
投票

如果您在使用新版本的 sonarqube 时遇到此错误。

您需要按照以下步骤操作。

  1. 前往管理
  2. 然后单击配置
  3. 转到安全
  4. 向下滚动到末尾并单击强制用户身份验证

现在禁用它并单击“保存”。

您现在不会再收到此错误了。


2
投票

我也遇到了同样的问题并且可以解决它

将 SonarQube 配置从模块

build.gradle
移动到应用程序
build.gradle

sonarqube {
    properties {
        property "sonar.host.url", System.getenv("SONAR_URL_KEY")
        property "sonar.login", System.getenv("SONAR_LOGIN_KEY")
        ...
    }
}

0
投票

非常简单: 首先访问http://localhost:9000/admin/settings?category=security。之后,您应该会看到一个检查点,上面写着

Force user authentication
,取消单击它就可以了。


0
投票

1.强制用户认证

2.在项目的根目录中创建一个名为 sonar-project.properties 的配置文件

# must be unique in a given SonarQube instance
sonar.projectKey=my:project

# --- optional properties ---

# defaults to project key
#sonar.projectName=My project
# defaults to 'not provided'
#sonar.projectVersion=1.0
 
# Path is relative to the sonar-project.properties file. Defaults to .
#sonar.sources=.
 
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8

0
投票

我尝试了多种解决方案来解决此问题,但对我来说效果很好的一个是运行以下命令: mvn verify sonar:sonar -Dsonar.login=admin -Dsonar.password=YOU_PASSWORD

**注意:无需禁用“强制用户身份验证”并更改权限

© www.soinside.com 2019 - 2024. All rights reserved.