SonarLint 3.4.0(STS 3.8.1中)能否匿名连接SonarQube?
匿名连接SonarQube到SonarLint 3.4.0的解决方案
根据我对SonarLint 3.x版本和STS老版本的使用经验,针对你遇到的情况——SonarQube允许匿名浏览器访问,但SonarLint插件要求输入令牌/账号密码——是可以实现匿名连接的,下面是具体的操作和注意事项:
核心前提确认:首先确保你的SonarQube服务器确实给匿名用户开放了足够的权限。除了浏览器能访问项目,还需要在SonarQube后台的
Administration > Security > Global Permissions中,给Anyone组勾选Browse和See Source Code权限,这是SonarLint调用API获取规则和项目信息的基础。SonarLint配置步骤:
- 在STS中打开
Window > Preferences > SonarLint > Servers - 点击
Add按钮,选择SonarQube作为服务器类型 - 输入你的SonarQube服务器完整URL(比如
http://xxx.xxx.xxx.xxx:9000) - 重点:不要填写
Token输入框,也不要填写Username和Password字段,直接点击Test Connection - 如果测试成功,保存配置后就可以绑定你的项目,正常使用SonarLint的代码检查功能了
- 在STS中打开
可能的问题排查:
- 如果测试连接失败,先检查STS的网络代理设置:浏览器能访问不代表STS的代理配置正确,进入
Window > Preferences > General > Network Connections,确保代理设置和浏览器一致(如果没有代理就选择Direct模式) - 确认SonarQube的API是否能匿名访问:可以在STS所在机器的浏览器中访问
http://你的SonarQube地址/api/projects/search,如果能返回JSON数据,说明API的匿名权限是正常的;如果返回401未授权,那还是需要回到SonarQube后台调整权限
- 如果测试连接失败,先检查STS的网络代理设置:浏览器能访问不代表STS的代理配置正确,进入
这种方式在SonarLint 3.4.0和STS 3.8.1的组合下是完全可行的,我之前帮同事处理过类似的老版本环境配置,只要权限和网络设置到位,匿名连接没问题。
内容的提问来源于stack exchange,提问作者Criel
相关产品推荐
相关产品推荐

