浏览 2467 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-02-21
最后修改:2011-02-23
在Oracle关于JavaSE的官方文档中查到如下描述,LDAP服务提供者支持String和byte[]两种格式的LDAP属性。 默认情况下Attribute#get()返回的属性值的格式都是字符串类型的,如果想指定某属性的格式为字节数组类型(比如某属性可能在活动目录中存储的是图片、Word等二进制文件,那么返回字节数组类型会特别合适),需要事先在查找的上下文环境中指定: …… env.put("java.naming.ldap.attributes.binary","objectGUID");//objectGUID也可以指定为其它属性 Context cxt = new InitialLdapContext(env,null); ……
参考网址: LDAP Naming Service Provider for the Java Naming and Directory InterfaceTM (JNDI) http://download.oracle.com/javase/1.3/docs/guide/jndi/jndi-ldap.html
How do you convert an Active Directory objectGUID into something useful? http://www.thatsjava.com/java-core-apis/19440/
还有一个小问题,如果连接Ldap服务器的PROVIDER_URL中服务器与端口之外的路径含有中文,则需要事先使用java.net.URLEncoder进行编码,例如:
String baseDN=URLEncoder.encode("ou=软件应用事业部,ou=OrgTree,dc=cattsoft,dc=com", "utf-8"); env.put(Context.PROVIDER_URL, "ldap://192.168.123.8:389/"+baseDN); 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-02-21
各位在使用LDAP是有没有遇到这类问题啊 还望将此贴顶起
|
|
返回顶楼 | |