>我正在使用pyldap连接到AD服务器Pyldap 提供了两个函数bind_s(( 和 simple_bind_s((谁能解释我什么时候使用 bind_s(( 和 simple_bind_s(( 以及哪一个最好。
simple_bind_s(( 可以执行简单的 LDAP 身份验证或 Kerberos 身份验证。但是,bind_s(( 只能执行 LDAP 身份验证以与 Active Directory 服务器形成连接。
我更喜欢 simple_bind_s((,因为我们需要对应用程序的两个身份验证支持,但如果您确定永远不需要在您的应用程序中实现/使用 kerberos 身份验证,那么请随时选择 bind_s((。
以下是各个绑定定义的实现(参考(:
simple_bind_s((:
def simple_bind_s(self,who='',cred='',serverctrls=None,clientctrls=None):
"""
simple_bind_s([who='' [,cred='']]) -> 4-tuple
"""
msgid = self.simple_bind(who,cred,serverctrls,clientctrls)
resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
return resp_type, resp_data, resp_msgid, resp_ctrls
bind_s((:
def bind_s(self,who,cred,method=ldap.AUTH_SIMPLE):
"""
bind_s(who, cred, method) -> None
"""
msgid = self.bind(who,cred,method)
return self.result(msgid,all=1,timeout=self.timeout)