权限模板能通过匹配projectKey的正则表达式来自动为新扫描项目分配权限。
在权限模板没有被设置为默认的情况下,只有当项目projectKey匹配项目标识模式时才会分配该权限模板。如果设置为默认,则项目默认会分配该模板权限到新扫描项目而不管是否匹配正则表达式。
配置
-
新建用户组
SonarQube - 以admin登录 - 配置 - 权限 - 群组 - 创建群组
名称: test -
新建用户
配置 - 权限 - 用户 - 创建用户
名称: test_user -
用户加入用户组
配置 - 权限 - 用户 - 列表中"组"列点击更新组 - 勾选test -
创建权限模板
配置 - 权限 - 权限模板 - 创建
名称: test_template
项目标识模式: ^test-.* (^表示行首,test-为匹配字符串,.*表示匹配0到任意字符)
保存 -
权限模板分配权限
配置 - 权限 - 权限模板 - 列表最后设置符号 - 选中修改权限
Administrator 用户勾选所有选项
test 勾选 浏览 查看源码 问题管理员 管理安全热点
勾选完就会自动保存
这一步的意思是所有projectKey匹配 ^test-.*的项目,会自动应用这一步分配的权限,即只有admin和test组下的用户才能查看到test-demo项目的分析报告 -
使用Sonar-scanner 扫描项目
sonar-project.properties
sonar.projectKey=test-demo
sonar.projectName=test-demo
sonar.exclusions=**/doc/**
sonar.language=java
sonar.java.binaries=./
CMD.exe
sonar-scanner
- 测试
分别以admin账号和test账号登录,发现都有test-demo的分析报告,若用其它用户登录,没有报告信息。