Curl Nexus回购管理器-如何根据回购名称获取角色?

Curl Nexus回购管理器-如何根据回购名称获取角色?,curl,nexus,Curl,Nexus,我正在尝试列出当前有权访问Nexus repo A的所有角色。在repo manager中没有这样的查找。但是您可以编写一个groovy脚本来遍历角色/权限树,并以这种方式获取信息 下面是一个简单的脚本,可以帮助您朝着正确的方向前进: allRoles = security.getSecuritySystem().listRoles() allPrivileges = security.getSecuritySystem().listPrivileges() log.info("\n --

我正在尝试列出当前有权访问Nexus repo A的所有角色。

在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")
        }
    }
}
您可以通过创建管理-执行脚本任务或作为REST API在管理UI的系统/任务中运行此脚本,如下所述:

我还强烈建议为脚本开发设置一个IDE环境,这样您就可以使用代码完成,并直接从脚本浏览到Nexus源代码: