我正在尝试列出当前可以访问Nexus存储库A的所有角色。
发布于 2019-03-29 23:37:25
在repo manager中没有指向该方向的查找。但是,您可以编写一个groovy脚本来遍历角色/权限树,并以这种方式获取信息。
下面是一个简单的脚本,它可以帮助您朝着正确的方向前进:
allRoles = security.getSecuritySystem().listRoles()
allPrivileges = security.getSecuritySystem().listPrivileges()
log.info("\n ---------------------------- \n Listing Roles and Privileges \n" +
" ---------------------------- ")
roleSize = allRoles.size()
log.info("Roles found: $roleSize")
for (r in allRoles) {
log.info("Role --> RoleId: $r.roleId, Name: $r.name, Source: $r.source")
log.info("Role --> RoleId: $r.roleId, Name: $r.name, Source: $r.source")
for(p in r.privileges) {
rolePrivilege = allPrivileges.find { it.id == (p) }
if (rolePrivilege) {
log.info("Privilege for role '$r.name' --> Id: $rolePrivilege.id, Name: $rolePrivilege.name, Desc: $rolePrivilege.description")
}
}
}您可以在管理UI的“系统/任务”中通过创建“管理-执行脚本”任务或作为REST API运行它,如下所述:
https://help.sonatype.com/display/NXRM3/Script+API
我还强烈建议为脚本开发设置一个IDE环境,这样您就可以使用代码完成功能,并从您的脚本直接浏览到Nexus源代码:
https://stackoverflow.com/questions/55402525
复制相似问题