Ejemplo n.º 1
0
def register_auth():
    if __module_name__ not in auth._auth_modules:
        register_module(__module_name__, StorageClass, Client, base.PermissionsDatabase)
Ejemplo n.º 2
0
def register_auth():
    if __module_name__ not in auth._auth_modules:
        register_module(__module_name__, StorageClass, Client, base.PermissionsDatabase)
Ejemplo n.º 3
0

def session_key(username, realm, password):
    return sha.new("%s:%s:%s" % (username, realm, password)).hexdigest()


class StorageClass(ZEOStorage):
    def auth(self, username, password):
        try:
            dbpw = self.database.get_password(username)
        except LookupError:
            return 0

        password_dig = sha.new(password).hexdigest()
        if dbpw == password_dig:
            self.connection.setSessionKey(session_key(username, self.database.realm, password))
        return self.finish_auth(dbpw == password_dig)


class PlaintextClient(Client):
    extensions = ["auth"]

    def start(self, username, realm, password):
        if self.stub.auth(username, password):
            return session_key(username, realm, password)
        else:
            return None


register_module("plaintext", StorageClass, PlaintextClient, Database)
Ejemplo n.º 4
0
def session_key(username, realm, password):
    return sha.new("%s:%s:%s" % (username, realm, password)).hexdigest()


class StorageClass(ZEOStorage):
    def auth(self, username, password):
        try:
            dbpw = self.database.get_password(username)
        except LookupError:
            return 0

        password_dig = sha.new(password).hexdigest()
        if dbpw == password_dig:
            self.connection.setSessionKey(
                session_key(username, self.database.realm, password))
        return self.finish_auth(dbpw == password_dig)


class PlaintextClient(Client):
    extensions = ["auth"]

    def start(self, username, realm, password):
        if self.stub.auth(username, password):
            return session_key(username, realm, password)
        else:
            return None


register_module("plaintext", StorageClass, PlaintextClient, Database)