pyldap AD身份验证bind_s与simple_bind_s

时间:2017-11-17 05:56:53

标签: python pyldap

我正在使用pyldap连接到AD服务器 pyldap提供了两个函数bind_s()和simple_bind_s() 任何人都可以解释我何时使用bind_s()和simple_bind_s()以及哪一个最好。

1 个答案:

答案 0 :(得分:1)

simple_bind_s()可以执行简单的LDAP身份验证或Kerberos身份验证。但是, bind_s()只能执行LDAP身份验证以与Active Directory服务器建立连接。

我最喜欢simple_bind_s(),因为我们需要对应用程序提供身份验证支持,但如果您确定永远不需要在应用程序中实现/使用kerberos身份验证,那么可以随意选择bind_s()。

以下是各个绑定定义(Reference)的实现:

<强> 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)