什么是好的嵌入式Java LDAP服务器?

2022-09-01 19:25:00

我正在开发一个Java Web应用程序,该应用程序与与它一起部署的其他一些外部应用程序集成。身份验证信息必须在所有内容之间同步,其他应用程序希望针对 LDAP 进行身份验证。该应用程序将部署在没有其他LDAP服务器可供所有内容使用的环境中;我必须提供它。到目前为止,我的解决方案是将Penrose Server用作独立应用程序,我设置该应用程序以检查主应用程序数据库中的表并基于此发布LDAP。它运行良好,但是如果能将某些内容嵌入到主应用程序本身中以简化部署,那就太好了。

看起来Penrose可以嵌入,但文档可能有点参差不齐或过时(尽管它似乎是积极开发的)。这可能是一个可以接受的解决方案,但如果有另一个已知在嵌入式配置中工作良好的解决方案,我可能想要检查一下。

我也担心彭罗斯的GPL问题。我不能随意GPL应用程序的源代码。我不认为这是一个独立运行它的问题,但嵌入它可能是禁忌...有人知道吗?为了避免这些问题,宽松的许可证将是很好的。

要求:

  1. LDAP v3
  2. 必须能够在运行时更新目录内容,无论是以编程方式还是通过其他方式(如与数据库同步)进行更新,如 Penrose 所做的
  3. 易于配置(在部署时无需对应用进行其他配置)是理想的选择)

到目前为止,我已经简要地研究了ApacheDSOpenDS,它们似乎是可嵌入的。

有没有人有这种事情的经验?


答案 1

你应该看看Apache DS。我刚刚开始将其用作嵌入式服务器来设置JUnit测试。到目前为止,它运行良好,现在唯一阻止我的是我有限的LDAP知识。ApacheDS看起来是一个不错的项目,我认为它值得付出努力。


答案 2

由于这个问题已经有一段时间没有答案了,我想建议你也考虑Penrose的商业许可证 - 当GPL的影响令人望而却步时,它对像你这样的人有双重许可证。我不知道它们的价格和型号,但是使用您已经知道的解决方案可能比习惯您需要习惯的另一种解决方案更容易,更便宜。你可以用你的钱或你的时间支付...

另外 - 对于记录,在这种情况下不适用:当项目使用GPL并且你想以非GPL的方式嵌入它们时,要求开发人员提供更宽松的许可证可能会付出代价。有些人在GPL下发布,没有考虑其含义。如果这意味着更广泛地使用项目,您可以让他们更改许可证。其他人特别想要GPL的含义,但问这个问题总是好的。彭罗斯已经考虑过这一点,并提供了商业许可证。


推荐