⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getattr.java

📁 myeclipse下编写的jndi开发案例
💻 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 + -