我想要做的就是将图像上传到Active Directory中。到目前为止,我可以更新任何AD信息,但图像。我试图寻找一些想法但到目前为止没有提出任何想法。
我是否必须以某种方式对图像进行编码?我只是用照片的字节字符串替换jpegPhoto属性吗?
对解决方案的任何暗示都会很棒。
提前致谢!
答案 0 :(得分:0)
首先,Active目录中有一个名为thumbnailPhoto的属性。根据{{3}},thumbNailPhoto属性包含八位字节字符串类型数据。 AD将八位字符串数据解释为字节数组。
如果您想在C#中使用示例代码,可以获得this Microsoft article。
从理论的角度来看,你也可以使用像“B64”这样的工具为LDIF注入一张照片来编码你的图像文件。
其次,在我看来,目录不是数据库。 因此,即使该属性存在(由Netscape根据OID something here创建),即使Microsoft向我们解释如何将图片放入Active Directory,我认为注册URL或路径更好从文件系统到目录的文件。
如果我用40 Ko加载每个条目(缩略图照片的平均大小),我不知道对AD性能的影响。但是我知道如果网络上有糟糕的书面程序,我的意思是当它们在目录中搜索条目时加载所有属性的程序,这将大大加载网络。
我希望它有所帮助。
JP
答案 1 :(得分:0)
我遇到了这个问题,并且能够通过创建文件流并将其作为二进制文件传递给@ldap.replace_attribute
来使其工作。即。
thumbnail_stream = open("path_to_file")
@ldap.replace_attribute USERS_DN, :thumbnailPhoto, File.binread(thumbnail_stream)
其中@ldap
是net/ldap
的实例,绑定到AD。即。
@ldap = Net::LDAP.new
@ldap.host = ''
@ldap.port = ''
@ldap.auth USERNAME, PASSWORD
@ldap.bind