以下のスクリプトは、LDAPの役割からNexusの役割へのマッピングを追加します。
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-adminの' のような)ネクサスロール名です。マッピングを追加すると、同じIDを持つ2つのロールが表示されます(LDAPソースの場合は1つ、デフォルトの場合はその他)。ネクサスは明らかにそれらをIDで相関付けます。以下のスクリプトは、すべてのロール(LDAPとデフォルトのロール)をリストしています。 LDAPロールが表示されるようにするには、このスクリプトにユーザーLDAPユーザー名を渡す必要があります。LDAPが使用されていない場合は非アクティブ化されるため、スクリプトにはNexusロールのみが表示されるためです。
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