用于LDAP的轻量级Java API

时间:2012-08-09 15:24:06

标签: java active-directory ldap jndi

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

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

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

3 个答案:

答案 0 :(得分:3)

我对UnboundID LDAP SDK有很好的体验。它只是一个jar,具有良好的文档,非常用户友好的API,与JNDI相比,a lot of advantages

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

答案 1 :(得分:3)

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

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

UnboundID LDAP SDK

  • 比JNDI更清洁
  • 比JNDI更清楚
  • 支持故障转移和负载平衡
  • 支持本地化
  • 使语法和匹配规则易于使用
  • 学习曲线较短,比JNDI
  • 更容易使用
  • 支持异步操作
  • 支持内存目录服务器,它可用于单元测试

另见

答案 2 :(得分: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