下面的腳本添加了從LDAP角色到連接角色的映射。
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
import org.sonatype.nexus.security.SecuritySystem
def request = new JsonSlurper().parseText(args)
String ldap = request.ldap
String name = request.name ?: request.ldap
String nexus = request.nexus
assert ldap != null && nexus != null
def role = security.addRole(ldap, name, "Mapping for LDAP "+ldap, [], [nexus]);
JsonOutput.prettyPrint(JsonOutput.toJson(role))
參數 'LDAP' 是LDAP角色名稱和 '關係' 是承上啓下的角色名稱(如 'NX-管理')。注意添加映射後,將出現兩個具有相同ID的角色(一個用於LDAP源,另一個用於默認)。 Nexus顯然是通過id關聯它們的。下面的腳本列出了所有角色(LDAP和默認值)。您可能需要將用戶LDAP用戶名傳遞給此腳本,以便LDAP角色出現,因爲如果LDAP未使用一段時間,LDAP將被停用,在這種情況下,腳本將只顯示連線角色。
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
import org.sonatype.nexus.security.SecuritySystem
SecuritySystem securitySystem = container.lookup(SecuritySystem.class.name)
if(args != null && args.length() > 0) {
def request = new JsonSlurper().parseText(args)
if(request.user != null && request.user.length() > 0) {
securitySystem.getUser(request.user)
}
}
JsonOutput.prettyPrint(JsonOutput.toJson(securitySystem.listRoles()))
您是否找到該徽章的解決方案?如果有,請分享 – Georgi