LdapConnection Bind() - does it timeout?

本文关键字:it timeout does Bind LdapConnection | 更新日期: 2023-09-27 18:04:14

我有一些代码,允许管理员管理他们组织的用户/组等,并执行扩展命令(如禁用帐户等)。这段代码完全独立于主用户应用程序,只有管理员才能访问。因此,我使用admin用户连接到LDAP,因此我可以访问所需的所有命令。

我想知道的是,如果我可以简单地实例化我的LdapConnection,然后绑定到服务器,然后缓存该连接在整个应用程序中使用(将其存储在应用程序对象或在会话实例),而不是实例化它和绑定每次我需要做一个调用?换句话说,LdapConnection对象是否会在一段时间后过期、超时或解除绑定?看起来它在连接对象上有一个'Timeout'属性,但这似乎是每个单独的调用。我是否可以假设,一旦绑定,我就可以继续使用该连接?有什么设计理由不这么做吗?

谢谢!

LdapConnection Bind() - does it timeout?

根据您正在使用的目录服务器的配置,它可能被配置为:

  • 超时空闲连接
  • 限制每个连接的操作数
  • 对操作速率施加限制
  • 允许客户端无限期保持连接

一旦使用BIND操作(称为为连接建立授权状态)将连接与身份验证标识关联起来,该身份验证状态在连接的生命周期内保持有效,或者直到在该连接上发送下一个BIND请求。

我不是c#专家,但我希望LdapConnection对象覆盖一个连接池,而不是代表一个物理连接本身。