我正在开发一个Java Web应用程序,它与一些随之部署的其他外部应用程序集成在一起.身份验证信息必须跨所有内容同步,其他应用程序需要针对LDAP进行身份验证.该应用程序将部署在没有其他LDAP服务器可供使用的环境中; 我必须提供它.到目前为止,我的解决方案是将Penrose Server用作独立应用程序,我将其设置为检查主应用程序数据库中的表并基于此发布LDAP.它运行良好,但有一些东西可以嵌入主应用程序本身以简化部署将是很好的.
看起来Penrose可以嵌入,但文档可能有点不稳定或过时(虽然它似乎是积极开发的).它可能是一个可接受的解决方案,但如果有另一个已知在嵌入式配置中工作良好的我可能想要检查它.
我也担心Penrose的GPL问题.我不能自由地向GPL提供应用程序的源代码.我不认为这是独立运行它的问题,但嵌入它可能是不 - 没有人知道吗?许可许可证是好的,以避免这些问题.
要求:
LDAP v3
必须能够在运行时更新目录内容,无论是以编程方式还是通过其他方式,如Penrose与数据库同步
易于配置(在部署时无需为应用程序提供额外配置)
到目前为止,我简要地看了一下似乎可以嵌入的ApacheDS和OpenDS.
有没有人有这种经历?
你应该看看Apache DS.我刚开始使用它作为嵌入式服务器来设置JUnit测试.到目前为止它工作得很好,现在唯一阻止我的是我有限的LDAP知识.ApacheDS看起来像一个体面的项目,我认为这是值得的.
由于这个问题在很长一段时间内都没有得到答复,我想建议你也考虑Penrose的商业许可证 - 当GPL的影响令人望而却步时,它就像你一样获得双重许可.我不知道他们的价格和型号,但是使用你已经知道的解决方案比习惯你需要习惯的另一种解决方案可能更容易也更便宜.你可以用你的钱或时间来支付......
另外 - 对于记录,在这种情况下不适用:当项目使用GPL并且您希望以非GPL方式嵌入它们时,可能需要向开发人员申请更宽松的许可证.有些人根据GPL发布不考虑其含义.如果这意味着更广泛地使用项目,您可能会让他们更改许可证.其他人特别想要GPL含义,但总是要问.彭罗斯已经考虑过这个并提供商业许可证.