在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);
分享到:
相关推荐
java LDAP操作
java操作ldap类java操作ldap类java操作ldap类
java使用ldap修改ad域用户密码
活动目录编程(LDAP)活动目录编程(LDAP)活动目录编程(LDAP)活动目录编程(LDAP)
主要介绍了JAVA使用Ldap操作AD域的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
JAVA ldap AD 域 免证书 查询 修改 删除 新增 启用 禁用 修改密码
JAVA中使用LDAP进行用户认证,可靠、可用、可复制
java 操作ldap的简单实例,希望可以能够给你启发
java连接LDAP实例和jar包,里面包含ssl连接和更改LDAP属性的例子,公参考
JAVA操作LDAP的增删改查 包括连接已经属性的更新操作
java 操作 ids ldap!使用java 操作 IBM dirctory server ldap v3
NULL 博文链接:https://cgs1999.iteye.com/blog/1574635
LDAP programming with java
java LDAP+CAS单点登录,里面包含LDAP的安装程序,安装文档,代码文档,程序源码,比较详细,如不懂加群 87115896
java连接和验证的ldap学习文档,密码的校验,通过jndi连接ldap服务
Java连接LDAP的架包 ,列子 ,文档
java Ldap增删改查代码。ldap样例数据,可用来导入。
LDAP安装手册 通过此文件,可以知道SUN LDAP安装操作全过程
JAVA通过LDAP+SSL(证书)实现用户和组织(部门)增删改查(Java代码部分),里面包含源码和文档,以便大家测试。
怎么用java来编写Ldap编程. 教你一些怎样连接DB,怎样操作数据库 .呵呵,,,