JAVA : 如何将多个成员添加到 LDAP 中的组

JAVA : How to add more than one member to a group in LDAP

我正在尝试创建一个群组并向其中添加几个用户 group.I 可以添加一个成员。

当我尝试添加多个成员时,结果与我预期的不一样。

Java代码:

public static DirContext createGroup(String groupName,ArrayList<String> members,DirContext ctx) {

    try {

    Attributes attrs = new BasicAttributes(true); 
    Attribute objclass = new BasicAttribute("objectClass");
    objclass.add("top");
    objclass.add("groupOfNames");

    Attribute groupname = new BasicAttribute("cn", groupName);

    attrs.put(objclass);
    attrs.put(groupname);

    Attribute memberAtt;

    for (int i = 0;i<members.size();i++) 
    { 
        memberAtt = new BasicAttribute("member", members.get(i));
        attrs.put(memberAtt);
    }

    ctx.createSubcontext("cn="+groupName+",ou=Groups", attrs);
    } catch (NamingException e) {
        e.printStackTrace();
    }
    return ctx;
}

您正在创建一个新的 BasicAttribute,它在循环中具有相同的属性名称和单个值。 您应该使用 memberAtt.add(members.get(i)) 将值添加到 memberAtt BasicAttribute。