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

时间:2019-02-25 05:08:10

标签: java ldap

我正在尝试创建一个网上论坛,并向该网上论坛添加一些用户。我可以添加一个成员。

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

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;
}

1 个答案:

答案 0 :(得分:1)

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