我正在寻找将配置文件存储在 LDAP 服务器中的最佳方式。我的应用程序用于将用户设置保存在 xml 文件中。用户登录已集中在 LDAP 服务器中。用户在 LDAP 服务器中存储为“inetOrgPerson”。我想将 xml 文件附加到每个用户。
最好的方法是什么?标准 LDAP 模式是否提供了一个类来存储文本文件?或者我是否应该根据自己的需要扩展架构?
好吧,最好的解决方案可能是将配置值直接保存在 LDAP 模式中。LDAP 不适合存储文件或其他大型条目。
当然,您可以将整个文件作为字符串或二进制数据存储在 LDAP 目录中。但我建议您改为存储网络可访问文件的路径,并使用适当的网络文件系统来存储实际文件。
在我看来,这很常见,iNetOrgPerson 条目具有用于用户图像的 jpeg 文件。语法(jpegPhot 条目)是 1.3.6.1.4.1.1466.115.121.1.25 还有二进制语法 1.3.6.1.4.1.1466.115.121.1.5 - 用于保存大部分证书的二进制语法(它们是文件)
您可能只想使用文件类定义自己的模式,并使用二进制语法。这就是我正在做的事情。
干杯,斯科特
抱歉,您为您的目标选择了错误的服务器。使用身份验证和目录服务器进行数据存储与为此目的使用电子邮件和日历服务器一样有意义。
此外,考虑(在 Raymond Chen 的论点上加上一个缺口)如果可以在 LDAP 服务器中为每个用户存储 1 个文件会发生什么。现在假设我们有两个应用程序试图保存到那个文件。因此,合乎逻辑的结论是您不能拥有一个文件,但您需要 LDAP 中的文件系统。
据我所知,没有标准的 LDAP 模式来存储文件。最好的方法是扩展模式。只要您始终使用相同的 LDAP 服务器并且允许您配置它/它们,这应该不是问题。如果您有不同的服务器(OpenLDAP、ApacheDS、...),您必须学习如何为每个服务器执行此操作。