java openldap_Java连接openldap 增删改查操作

查询

DirContext   ctx   =   ...

SearchControls   constraints   =   new   SearchControls();

constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);

//constraints.setSearchScope(SearchControls.ONELEVEL_SCOPE);

//NamingEnumeration   en   =   ctx.search( " ",   "uid=* ",   constraints);   //查询所有用户

NamingEnumeration en = ctx.search("", "uid=*", constraints);

while   (en   !=   null   &&   en.hasMoreElements())

{

Object   obj   =   en.nextElement();

if(obj   instanceof   SearchResult)

{

SearchResult   si   =   (SearchResult)   obj;

System.out.println( "name:   "   +   si.getName());

Attributes   attrs   =   si.getAttributes();

if   (attrs   ==   null)

{

System.out.println( "No   attributes ");

}

else

{

for   (NamingEnumeration   ae   =   attrs.getAll();  ae.hasMoreElements();)

{

Attribute   attr   =   (Attribute)   ae.next();

String   attrId   =   attr.getID();

for   (Enumeration   vals   =  attr.getAll();vals.hasMoreElements();)

{

System.out.print(attrId   +   ":   ");

Object   o   =   vals.nextElement();

if(o   instanceof   byte[])

System.out.println(new   String((byte[])o));

else

System.out.println(o);

}

}

}

}

else

{

System.out.println(obj);

}

System.out.println();

}

...

ctx.close();

添加

DirContext   ctx   =   ...;

String   newUserName   =   "user2 ";

BasicAttributes   attrs   =   new   BasicAttributes();

BasicAttribute   objclassSet   =   new   BasicAttribute( "objectclass ");

objclassSet.add( "person ");

objclassSet.add( "top ");

objclassSet.add( "organizationalPerson ");

objclassSet.add( "inetOrgPerson ");

attrs.put(objclassSet);

attrs.put( "sn ",   newUserName);

attrs.put( "uid ",   newUserName);

ctx.createSubcontext( "uid= "   +   newUserName,   attributes);

...

删除

String   account   =   "user2 ";

DirContext   ctx   =   ...;

ctx.destroySubcontext( "uid= "   +   account);

修改

String   account   =   "user2 ";

String   newDisplayName   =   "newDisplayName ";

ModificationItem   modificationItem[]   =   new   ModificationItem[1];

modificationItem[0]   =

new   ModificationItem(

DirContext.REPLACE_ATTRIBUTE,

new   BasicAttribute( "displayName ",   newDisplayName);

DirContext   ctx   =   ...;

ctx.modifyAttributes( "uid= "   +   account,   modificationItem);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值