繁体   English   中英

如何处理LDAP连接?

[英]How to handle LDAP connection?

我正在尝试实现以下内容:

我有一个Importer类,它注册所谓的Processor s,然后通过遍历它们并调用execute来执行它们( Processor是一个接口并包含一个方法void execute() )。

这些处理器所做的是连接到LDAP,并执行某些任务,例如检索人员列表并将其存储到数据库中,或者读取某些特权并将它们映射到组。

一切都很好...除了我只是不知道如何处理LDAP连接。

以下是一些想法:

  1. 初始化构造函数中的连接(并将其分配给一个字段)并提供一个dispose()`方法,它关闭连接
  2. 不初始化连接领域的构造函数,但初始化并在关闭它execute()方法
  3. 在execute方法中创建连接并将其传递给所有被调用的方法
  4. 甚至更丑(在Importer中创建连接并将其传递给所有处理器,然后在执行后关闭它)

使用作为必需参数的Strategy方法处理与LDAP服务器的连接。 这解耦并隔离了代码。 您应该更喜欢UnboundID LDAP SDK来完成这项工作 - 并且SDK支持创建内存中目录服务器的功能,因此不需要使用“模拟”或“假”连接。 另外,您可以查看博客文章“ LDAP:编程实践”

在其他地方构建它并将其注入应用程序。

如果您没有通过CDDI提供依赖注入的JEE6,那么您可以使用Spring框架作为解决方法。

它有两个好处。

  1. 连接的生命周期在使用它的类之外
  2. 可以使用模拟或伪连接替换连接以进行测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM