Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 在LDAP中存储文件引用_File_Ldap_Jndi - Fatal编程技术网

File 在LDAP中存储文件引用

File 在LDAP中存储文件引用,file,ldap,jndi,File,Ldap,Jndi,在初始阶段,开发人员开始将小文件存储在LDAP属性中。后来,随着文件大小的增长,它成为一个问题。现在,我计划对其进行如下更改:将文件内容存储在磁盘中,将文件路径存储在属性中。我的疑问是,当客户端读取该属性时,OpenLDAP服务器是否可能自动为文件内容提供服务 我看到了像LabeledURI这样的引用属性。有什么特殊的属性来处理这种情况吗?没有,这是不可能的,也是个坏主意 LDAP目录永远不应被视为文件存储,因为它被设计为承载许多但很小的对象。要执行,请求应该尽可能短 NAS更适合承载这些文件

在初始阶段,开发人员开始将小文件存储在LDAP属性中。后来,随着文件大小的增长,它成为一个问题。现在,我计划对其进行如下更改:将文件内容存储在磁盘中,将文件路径存储在属性中。我的疑问是,当客户端读取该属性时,OpenLDAP服务器是否可能自动为文件内容提供服务


我看到了像LabeledURI这样的引用属性。有什么特殊的属性来处理这种情况吗?

没有,这是不可能的,也是个坏主意

LDAP目录永远不应被视为文件存储,因为它被设计为承载许多但很小的对象。要执行,请求应该尽可能短

NAS更适合承载这些文件


您必须修改代码,才能根据目录中存储的文件名访问这些文件。

当然,将URI存储到文件(或任何其他资源)是可能的,而且经常会这样做

为文件提供服务,取决于LDAP服务器实现和文件大小。证书和照片通常存储在LDAP中

例如,eDirectory将一定大小的数据流传输到DIB存储中的文件。但是,LDAP协议在流式传输大数据块或数据时不是非常有效


-吉姆

谢谢。将OpenLDAP服务器放在前端(作为代理)怎么样?如果查询是针对该属性的,那么让代理从文件服务器获取内容并服务于客户端?(我没有LDAP代理的经验)。开箱即用,你不能。您可以编写一个OpenLDAP插件来实现这一点,但这仍然不是一个好主意,因为在为文件提供服务期间,您将在LDAP服务器上生成大量I/O和块线程。我怀疑这场演出会不会是一流的…谢谢。所以,让我试试其他一些方法,比如fakeLDAP服务器,等等