欢迎来到天天文库
浏览记录
ID:40557725
大小:19.69 KB
页数:6页
时间:2019-08-04
《Java操作LDAP代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2009-08-12LDAP代码操作DemoLDAP操作代码样例 初始化LDAP目录服务上下文该例子中,我们使用uid=linly,ou=People,dc=jsoso,dc=net这个账号,链接位于本机8389端口的LDAP服务器(ldap://localhost:8389),认证方式采用simple类型,即用户名/密码方式。privatestaticvoidinitialContext()throwsNamingException{ if(singleton==null){ singleton=newLDAPConnection(); /* *在实际编
2、码中,这些环境变量应尽可能通过配置文件读取 */ //LDAP服务地址 singleton.sLDAP_URL="ldap://localhost:8389"; //管理员账号 singleton.sMANAGER_DN="uid=linly,ou=People,dc=jsoso,dc=net"; //管理员密码 singleton.sMANAGER_PASSWORD="coffee"; //认证类型 singleton.sAUTH_TYPE="simple"; //JNDIContext工厂类 singleton.sCONT
3、EXT_FACTORY="com.sun.jndi.ldap.LdapCtxFactory"; singleton.envProps.setProperty(Context.INITIAL_CONTEXT_FACTORY,singleton.sCONTEXT_FACTORY); singleton.envProps.setProperty(Context.PROVIDER_URL,singleton.sLDAP_URL); singleton.envProps.setProperty(Context.SECURITY_AUTHENTICATION,sin
4、gleton.sAUTH_TYPE); singleton.envProps.setProperty(Context.SECURITY_PRINCIPAL,singleton.sMANAGER_DN); singleton.envProps.setProperty(Context.SECURITY_CREDENTIALS,singleton.sMANAGER_PASSWORD); /* *绑定ldap服务器 */ singleton.dirCtx=newInitialDirContext(singleton.envProps); }}通过一个H
5、ashtable或者Properties对象为LDAP的Context设置参数,而后初始化InitialDirContext,即可绑定LDAP服务。这相当于JDBC中获取数据库的Connection对象。绑定/创建LDAP条目对象用户可以使用bind方法创建新的LDAP条目,下面的代码创建一个DN:"ou=Employee,dc=jsoso,dc=net"的OrganizationUnit类LDAP条目如下:publicbooleancreateOrganizationUnit(){ StringldapGroupDN="ou=Employee,dc=jsoso,dc
6、=net"; try{ /* *查找是否已经存在指定的OU条目 *如果存在,则打印OU条目的属性信息 *如果不存在,则程序会抛出NamingException异常,进入异常处理 */ Attributesattrs=dirContext.getAttributes(ldapGroupDN); System.out.println("Findthegroup,attributeslist:"); NamingEnumerationnEnum=attrs.getIDs(); for(;nEnum.hasMore();
7、){ StringattrID=nEnum.next(); Attributeattr=(Attribute)attrs.get(attrID); System.out.println(attr.toString()); } returnfalse; }catch(NamingExceptione){ /* *没有找到对应的Group条目,新增Group条目 */ //创建objectclass属性 Attributeobjclass=newBasicAttribute("objectc
此文档下载收益归作者所有