#curl #nexus
#curl #nexus
Вопрос:
Я пытаюсь перечислить все роли, которые в данный момент имеют доступ к репозиторию Nexus A.
Ответ №1:
В repo manager нет поиска, который идет в этом направлении. Но вы могли бы написать groovy script, который просматривает дерево ролей / привилегий и получает информацию таким образом.
Вот простой скрипт, который должен помочь вам двигаться в правильном направлении:
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")
}
}
}
Вы могли бы запустить это в «system / tasks» в пользовательском интерфейсе администратора, создав задачу «admin — execute script» или как REST API, как описано здесь:
https://help.sonatype.com/display/NXRM3/Script API
Я бы также настоятельно рекомендовал настроить среду IDE для разработки сценариев, с помощью которой вы можете использовать завершение кода и просматривать исходный код Nexus непосредственно из ваших сценариев: