parameters: (self, conf, login, password)
return_statement: return entry
docstring: Authenticate a user against the specified LDAP server.
  
          In order to prevent an unintended 'unauthenticated authentication',
          which is an anonymous bind with a valid dn and a blank password,
          check for empty passwords explicitely (:rfc:`4513#section-6.3.1`)
          :param dict conf: LDAP configuration
          :param login: username
          :param password: Password for the LDAP user
          :return: LDAP entry of authenticated user or False
          :rtype: dictionary of attributes
docstring_summary: Authenticate a user against the specified LDAP server.
docstring_tokens: Authenticate a user against the specified LDAP server .
function: def _authenticate(self, conf, login, password):
          """
          Authenticate a user against the specified LDAP server.
  
          In order to prevent an unintended 'unauthenticated authentication',
          which is an anonymous bind with a valid dn and a blank password,
          check for empty passwords explicitely (:rfc:`4513#section-6.3.1`)
          :param dict conf: LDAP configuration
          :param login: username
          :param password: Password for the LDAP user
          :return: LDAP entry of authenticated user or False
          :rtype: dictionary of attributes
          """
  
          if not password:
              return False
  
          dn, entry = self._get_entry(conf, login)
          if not dn:
              return False
          try:
              conn = self._connect(conf)
              conn.simple_bind_s(dn, to_text(password))
              conn.unbind()
          except ldap.INVALID_CREDENTIALS:
              return False
          except ldap.LDAPError as e:
              _logger.error('An LDAP exception occurred: %s', e)
              return False
          return entry
function_tokens: def _authenticate ( self , conf , login , password ) : if not password : return False dn , entry = self . _get_entry ( conf , login ) if not dn : return False try : conn = self . _connect ( conf ) conn . simple_bind_s ( dn , to_text ( password ) ) conn . unbind ( ) except ldap . INVALID_CREDENTIALS : return False except ldap . LDAPError as e : _logger . error ( 'An LDAP exception occurred: %s' , e ) return False return entry