LDAP binary字段读取
2024-08-27 09:58:23
今天做LDAP发布图片,用binary属性存储。存储没有问题,但是读取时发现字段变成String形式并且内容是乱码,怎么转换都不能解决。
最后度了下发现
默认情况下Attribute#get()返回的属性值的格式都是字符串类型的,如果想指定某属性的格式为字节数组类型(比如某属性可能在活动目录中存储的是图片、Word等二进制文件,那么返回字节数组类型会特别合适),需要事先在查找的上下文环境中指定:默认情况下Attribute#get()返回的属性值的格式都是字符串类型的,如果想指定某属性的格式为字节数组类型(比如某属性可能在活动目录中存储的是图片、Word等二进制文件,那么返回字节数组类型会特别合适),需要事先在查找的上下文环境中指定:
增加如 env.put("java.naming.ldap.attributes.binary","aaaa");//aa是你的binary字段名。
Context cxt = new InitialLdapContext(env,null)
另外:
还有一个小问题,如果连接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);
参考:
http://zuiyanwangyue.iteye.com/blog/911649
最新文章
- Python学习之路--进程,线程,协程
- Java中的可变参数以及foreach语句
- CodeForces 429 B Working out(递推dp)
- 【C++面试】常考题复习:排序算法
- JavaWeb项目开发案例精粹-第2章投票系统-001设计
- hdu 2187
- Hive笔记--配置以及遇到的问题
- WPF-24:绘制正多边形
- 自适应滤波——线性预测(LPC)
- 第4天:JS入门-给div设置宽高背景色
- python 绘制柱状图
- UVa LA 4636 Cubist Artwork 难度: 0
- 阿里云CentOS下nodejs安装
- C# 日期时间
- try finally 处理方式
- thinkphp5 列表页数据分页查询2-带搜索条件
- Python 字符串的相关操作
- 《Windows核心编程》第八章——用户模式下的线程同步
- excel 应用,右下角的小十字拖拽的时候形成递减的数列
- Buffer ByteBuffer 缓冲区