Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NexusRESTAPI将LDAP用户映射到现有角色_Java_Groovy_Sonatype_Nexus3 - Fatal编程技术网

Java NexusRESTAPI将LDAP用户映射到现有角色

Java NexusRESTAPI将LDAP用户映射到现有角色,java,groovy,sonatype,nexus3,Java,Groovy,Sonatype,Nexus3,是否有可能使用Groovy脚本将LDAP用户映射到现有的nexus角色?我创建了一个Groovy脚本,它将检查LDAP中的员工编号,并将nexus角色映射到我的用户id import org.sonatype.nexus.security.role.RoleIdentifier import org.sonatype.nexus.security.user.User import org.sonatype.nexus.security.user.UserManager import org.so

是否有可能使用Groovy脚本将LDAP用户映射到现有的nexus角色?我创建了一个Groovy脚本,它将检查LDAP中的员工编号,并将nexus角色映射到我的用户id

import org.sonatype.nexus.security.role.RoleIdentifier
import org.sonatype.nexus.security.user.User
import org.sonatype.nexus.security.user.UserManager
import org.sonatype.nexus.security.role.NoSuchRoleException
import groovy.json.JsonOutput 
import groovy.json.JsonSlurper 
import groovy.json.JsonBuilder
import java.util.ArrayList
import java.util.HashSet
import java.util.List
import java.util.Set


def id = "NA10009"
def roles = 'dot-maven'
def json = new JsonBuilder()
def root= json id: id, roles: roles 
def roles1 = json.toString()
def role = new JsonSlurper().parseText(roles1)
 log.info("The Role in JSON  : $roles1")

authManager = security.getSecuritySystem().getAuthorizationManager(UserManager.DEFAULT_SOURCE)
 log.info("The authManager  : $authManager")
roles = (role.roles == null ? new HashSet() :role.roles.toSet())
try {
    User user = security.securitySystem.getUser(id, 'LDAP') 
    def existingRole = authManager.getRole(role.roles)
    log.info("The Role  : $existingRole")

    if (user != null) {
        List test = []
        test << existingRole.roleId
         log.info("The Role list  : $test")
        security.setUsersRoles(id,  test)
        log.info("Role of $roles  has been added to $id")
    } else {
        log.warn("$id not found.")
    }

} catch (Exception e) {
    log.error(e.toString())
}

我为角色创建了一个json,并尝试更新LDAP用户。但它抛出了上述错误

要向LDAP用户添加Nexus角色

import org.sonatype.nexus.security.role.RoleIdentifier;
import org.sonatype.nexus.security.user.User;
import org.sonatype.nexus.security.user.UserManager;

String userId = 'NA10009';
String newRoleId = 'dot-maven'
String realm = 'LDAP'
String role_realm = 'default'

User user = security.securitySystem.getUser(userId, realm)
authManager = security.getSecuritySystem().getAuthorizationManager(UserManager.DEFAULT_SOURCE)
def existingRole = authManager.getRole(newRoleId)
if(user != null) {
    RoleIdentifier newRole = new RoleIdentifier(role_realm, existingRole.roleId);
    user.addRole(newRole)
    security.securitySystem.setUsersRoles(user.getUserId(), realm, user.getRoles());
} else {
    log.warn("No user with ID of $userId found.")
}
import org.sonatype.nexus.security.role.RoleIdentifier;
import org.sonatype.nexus.security.user.User;
import org.sonatype.nexus.security.user.UserManager;

String userId = 'NA10009';
String newRoleId = 'dot-maven'
String realm = 'LDAP'
String role_realm = 'default'

User user = security.securitySystem.getUser(userId, realm)
authManager = security.getSecuritySystem().getAuthorizationManager(UserManager.DEFAULT_SOURCE)
def existingRole = authManager.getRole(newRoleId)
if(user != null) {
    RoleIdentifier newRole = new RoleIdentifier(role_realm, existingRole.roleId);
    user.addRole(newRole)
    security.securitySystem.setUsersRoles(user.getUserId(), realm, user.getRoles());
} else {
    log.warn("No user with ID of $userId found.")
}