def matrix_type(request):
    return request.param
def _on_Connection(self, server, user, password,
                       auto_bind=None, client_strategy=None,
                       authentication=None, check_names=None,
                       auto_referrals=None, receive_timeout=None):
        """
        We need to create a Connection object with
        methods:
            add()
            modify()
            search()
            unbind()
        and object
            response
        """
        # Raise an exception, if we are told to do so
        if self.exception:
            raise Exception("LDAP request failed")
        # check the password
        correct_password = False
        # Anonymous bind
        # Reload the directory just in case a change has been made to
        # user credentials
        self.directory = self._load_data(DIRECTORY)
        if authentication == ldap3.ANONYMOUS and user == "":
            correct_password = True
        for entry in self.directory:
            if to_unicode(entry.get("dn")) == user:
                pw = entry.get("attributes").get("userPassword")
                # password can be unicode
                if to_bytes(pw) == to_bytes(password):
                    correct_password = True
                elif pw.startswith('{SSHA}'):
                    correct_password = ldap_salted_sha1.verify(password, pw)
                else:
                    correct_password = False
        self.con_obj = Connection(self.directory)
        self.con_obj.bound = correct_password
        return self.con_obj