2

我想使用 LDAP(Iplanet 或 Open DS)验证我的新开源 Java 项目的用户名和密码,尽管对数据库进行了验证。

我想做的主要活动是:1)验证用户名和密码 2)将用户或组添加到目录服务器 3)将用户分配给组。

任何提供快速学习曲线的轻量级 Java API。

4

3 回答 3

3

我对UnboundID LDAP SDK有很好的体验。它只是一个 jar,具有良好的文档、非常用户友好的 API,并且 与 JNDI 相比有很多优势。

我特别喜欢它的 ORM 框架,它可以轻松地将 LDAP 记录映射到 Java 对象。

于 2012-08-09T15:47:57.650 回答
3

我的第一选择是UnboundID LDAP SDK。出于各种原因,不应将 JNDI 用于新代码:

  • JNDI使用的LDAP模型不干净,不清楚
  • JNDI 中存在许多软件缺陷,以及一些使某些 LDAP 操作无法进行的构造
  • 从 LDAP 标准的角度来看,JNDI 并不完全兼容
  • JNDI 使用断开连接的配置架构,这使得 JNDI 难以使用

UnboundID LDAP SDK

  • 比 JNDI 干净
  • 比JNDI更清晰
  • 支持故障转移和负载平衡
  • 支持本地化
  • 使语法和匹配规则的使用变得容易
  • 学习曲线更短,比 JNDI 更容易使用
  • 支持异步操作
  • 支持内存目录服务器,这在单元测试中很有用

也可以看看

于 2012-08-09T16:12:02.997 回答
1

您可以使用 JNDI 完成所有这些工作:

http://www.oracle.com/technetwork/java/jndi/index.html

如果您使用教程页面,您将看到您想要做的每件事的示例:http: //docs.oracle.com/javase/jndi/tutorial/

有一个框架可以让它变得更容易:
http ://today.java.net/pub/a/today/2006/04/18/ldaptemplate-java-ldap-made-simple.html

但我真的不推荐它,如果你在做很多 JNDI 项目,这确实是一种管理开销的方法,而不是让单个项目更容易的方法。做 JNDI 的开销只是一次性的事情,一旦你设置了它,你就不必再碰它了。如果您有任何问题,请在此处发布,我们会解决的。:)

-t。

于 2012-08-09T15:34:01.850 回答