概述
查询
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);
最后
以上就是美满皮卡丘为你收集整理的java openldap_Java连接openldap 增删改查操作的全部内容,希望文章能够帮你解决java openldap_Java连接openldap 增删改查操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复