- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java操作LDAP代码
2009-08-12
LDAP代码操作Demo
LDAP操作代码样例? 初始化LDAP 目录服务上下文 该例子中,我们使用uid=linly,ou=People,dc=jsoso,dc=net这个账号,链接位于本机8389端口的LDAP服务器(ldap://localhost:8389),认证方式采用simple类型,即用户名/密码方式。 private static void initialContext() throws NamingException{ ?? if(singleton == null){ ??? singleton = new LDAPConnection(); ??? /* ??? * 在实际编码中,这些环境变量应尽可能通过配置文件读取 ??? */ ??? //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; ??? //JNDI Context工厂类 ??? singleton.sCONTEXT_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, singleton.sAUTH_TYPE); ??? singleton.envProps.setProperty(Context.SECURITY_PRINCIPAL, singleton.sMANAGER_DN); ??? singleton.envProps.setProperty(Context.SECURITY_CREDENTIALS, singleton.sMANAGER_PASSWORD); ??? /* ??? * 绑定ldap服务器 ??? */ ??? singleton.dirCtx = new InitialDirContext(singleton.envProps); ?? } } 通过一个Hashtable或者Properties对象为LDAP的Context设置参数,而后初始化InitialDirContext,即可绑定LDAP服务。这相当于JDBC中获取数据库的Connection对象。 绑定/创建LDAP条目对象 用户可以使用bind方法创建新的LDAP条目,下面的代码创建一个DN:ou=Employee , dc=jsoso ,dc=net的OrganizationUnit类LDAP条目如下: public boolean createOrganizationUnit(){ ?? String ldapGroupDN = ou=Employee , dc=jsoso ,dc=net; ?? try { ??? /* ??? * 查找是否已经存在指定的OU条目 ??? * 如果存在,则打印OU条目的属性信息 ??? * 如果不存在,则程序会抛出NamingException异常,进入异常处理 ??? */ ??? Attributes attrs = dirContext.getAttributes(ldapGroupDN); ??? System.out.println(Find the group , attributes list :); ??? NamingEnumerationString nEnum = attrs.getIDs();?? ??? for( ; nEnum.hasMore() ; ){ ???? String attrID = nEnum.next(); ???? Attribute attr = (Attribute)attrs.get(attrID); ??
文档评论(0)