我正在尝试使用java代码从LDAP组中删除用户。虽然看起来很简单,但它会导致member
和uniquemember
属性出错。
public String removeGroupMembership(InitialDirContext ctx, String sGroup, String sMember){
String status = "";
System.out.println("entered removeGroupMembership:"+sGroup);
System.out.println("The memeber to be added is: "+sMember);
ModificationItem mods[] = new ModificationItem[1];
mods[0]= new ModificationItem(InitialDirContext.REMOVE_ATTRIBUTE, new BasicAttribute("member", sMember));
try {
ctx.modifyAttributes(sGroup,mods);
System.out.println("Group Modified");
错误 - 1.对于会员 -
javax.naming.directory.SchemaViolationException:[LDAP:错误代码65 - 无法在强制或可选属性列表中查找成员。]; 剩下的名字'cn = ........'在 com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3166)at at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3081)at at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2888)at at com.sun.jndi.ldap.LdapCtx.c_modifyAttributes(LdapCtx.java:1475)at at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_modifyAttributes(ComponentDirContext.java:277) 在 com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.modifyAttributes(PartialCompositeDirContext.java:192) 在 com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.modifyAttributes(PartialCompositeDirContext.java:181) 在 javax.naming.directory.InitialDirContext.modifyAttributes(InitialDirContext.java:167) 在 test.bulk.RemoveGroupFromUser.removeGroupMembership(RemoveGroupFromUser.java:69) at test.bulk.RemoveGroupFromUser.main(RemoveGroupFromUser.java:32)
javax.naming.directory.NoSuchAttributeException:[LDAP:错误代码16 - 属性uniquemember的一个或多个值不存在]; 剩下的名字'cn = ........'在 com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3156)at at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3081)at at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2888)at at com.sun.jndi.ldap.LdapCtx.c_modifyAttributes(LdapCtx.java:1475)at at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_modifyAttributes(ComponentDirContext.java:277) 在 com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.modifyAttributes(PartialCompositeDirContext.java:192) 在 com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.modifyAttributes(PartialCompositeDirContext.java:181) 在 javax.naming.directory.InitialDirContext.modifyAttributes(InitialDirContext.java:167) 在 test.bulk.RemoveGroupFromUser.removeGroupMembership(RemoveGroupFromUser.java:69) at test.bulk.RemoveGroupFromUser.main(RemoveGroupFromUser.java:32)
答案 0 :(得分:2)