📄 getattr.java
字号:
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NameClassPair;
import javax.naming.NamingEnumeration;
import javax.naming.directory.Attribute;
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.DirContext;
import javax.naming.directory.Attributes;
import javax.naming.directory.ModificationItem;
import javax.naming.NamingException;
import java.util.Hashtable;
/**
* Demonstrates how to retrieve an attribute of a named object.
*
* usage: java Getattr
*/
class Getattr {
public static void main(String[] args) {
// Identify service provider to use
String root = "o=yaoqiangx,c=com";
Hashtable env = new Hashtable(11);
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:389/o=yaoqiangx,c=com");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=Manager," + root);
env.put(Context.SECURITY_CREDENTIALS, "secret");
try {
DirContext ctx = new InitialDirContext(env);
System.out.println("认证成功!");
/*
* 查找某个对象,获取并显示其属性
*/
/*
* Attributes attrs = ctx.getAttributes("cn=tks");//查找某个对象,获取其属性
* NamingEnumeration attrsNames = attrs.getAll(); while
* (attrsNames.hasMore()) {//显示其所以属性 Object o = attrsNames.next();
* System.out.println("attributeName is : " + o + " Value is "); }
*/
/*
* 添加对象及属性
*/
/*
* Attributes attrs=new BasicAttributes(); BasicAttribute
* objectClassSet=new BasicAttribute("objectClass");
* objectClassSet.add("top"); objectClassSet.add("person");
* attrs.put(objectClassSet); BasicAttribute telephoneNumber=new
* BasicAttribute("telephoneNumber");
* telephoneNumber.add("02883035453"); attrs.put(telephoneNumber);
* BasicAttribute userPassword=new BasicAttribute("userPassword");
* userPassword.add("123456"); attrs.put(userPassword);
*
* BasicAttribute description=new BasicAttribute("description");
* description.add("newperson"); attrs.put(description);
* BasicAttribute sn=new BasicAttribute("sn"); sn.add("newperson");
* attrs.put(sn); ctx.createSubcontext("cn=tks",attrs);
*/
/*
* 删除对象
*/
/*
* ctx.destroySubcontext("cn=newperson");
*/
/*
* 修改对象属性
*/
/*
ModificationItem mod[] = new ModificationItem[1];
BasicAttribute mod0 = new BasicAttribute("sn", "wangyuqing");
mod[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, mod0);
ctx.modifyAttributes("cn=wangyuqing", mod);
*/
/*
* 获取对象列表并显示
*/
/*
* NamingEnumeration list=ctx.list(""); while(list.hasMore()){
* NameClassPair nc=(NameClassPair)list.next();
* System.out.println(nc); }
*/
/*
* 修改对象名
*/
/*
ctx.rename("cn=yaoqiang", "cn=yaoqiang1");
*/
Object o=ctx.lookup("cn=tks");
System.out.println();
ctx.close();
} catch (NamingException e) {
System.err.println("Problem getting attribute: " + e);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -