clientldap serverldap34 client_strategyConnection对象
同步
异步
可重新起动的
重用(同步,可重新开始的)ldapTrue/假
(异步、可重用)msgidget_response (message_id)在get_response get_responsetimeout10sget_request=True ()
,
Serverget_info=ldap3。ALLConnectionserverldap serverExtensionControl
当所有服务器池没有可用的策略将等待在ldap中指定的秒数。
POOLING_LOOP_TIMEOUT之前开始一个新的周期。这个默认为10秒。
池中可以有不同的HA策略:
?第一:池中得到第一个服务器,如果“活跃”设置为True第一个可用的服务器
?ROUND_ROBIN:每次后续开放服务器的连接池中使用。如果活动设置为
真的不可用服务器将被丢弃的
?随机:每次打开一个连接池中随机选择服务器。如果活动设置为True
不可用服务器会被丢弃
服务器池可以以不同的方式定义:
server1=服务器(& # 39;server1 # 39;)
server2=服务器(& # 39;server2 # 39;)
server3=服务器(& # 39;server1 # 39;,端口=636,use_ssl=True)
?与服务器对象显式初始化:
server_pool=ServerPool (server1, server2、server3, POOLING_STRATEGY_ROUND_
?→罗宾,活跃=True,排气=True)
?明确的池中添加操作对象:
server_pool=ServerPool(没有,POOLING_STRATEGY_ROUND_ROBIN_ACTIVE)
server_pool.add (server1)
server_pool.add (server2)
server_pool.add (server3)
44章1。内容
ldap3文档,2.5版
?直接在连接对象隐式初始化(通过服务器列表):
康涅狄格州=连接([server1, server2、server3]) # ServerPool对象是
?→用默认池策略定义
池可以动态地改变。您可以添加和删除服务器对象池,即使他们已经习惯连接
:
server4=服务器(& # 39;server2 # 39;,端口=636,use_ssl=True)
server_pool.remove (server2)
server_pool.add (server4)
连接通知的变化和开放新服务器的套接字的下一个开放()操作。
您还可以保存在一个json字符串模式和信息:
json_info=server.info.to_json ()
json_schema=server.schema.to_json ()
或可以让他们救了alt=" Python使用ldap3操作微软广告">
ldap serverserver.shemaauthentication=ldap3。NTLM
2 TLS
LDAP/TLS
StartTLS扩展operation ,,,# #广告
,
ldap
ldapsearch_basesearch_filterfilter
Johnemail@example.org”(, (givenName=约翰)(邮件=* @example.org))
JhonFred@example.org
(和
(|
(givenName=约翰)
(givenName=弗雷德)
)
(邮件=* @example.org)
)
search_basesearch_scope=& # 39;子树# 39;attributeentriesdistinguished名称,(策略)真的,康涅狄格州。条目
conn.search (base_search & # 39; (objectclass=人)& # 39;)
康涅狄格州。null