def authenticate(self, username=None, password=None, mintConfig=None): try: user = User.objects.get(user_name=username, deleted=False) except User.DoesNotExist: return None if (mintConfig and username == mintConfig.authUser and password == mintConfig.authPass): return user if password is ValidPasswordToken: self.update_login_time(user) return user if user.passwd and user.salt: salt = user.salt.decode('hex') m = md5(salt + password) if (m.hexdigest() == user.passwd): self.update_login_time(user) return self.updateUserOnLogin(user) elif mintConfig: client = auth_client.getClient(mintConfig.authSocket) if client.checkPassword(username, password): self.update_login_time(user) return self.updateUserOnLogin(user) return None
def __init__(self, db, cfg): self.cfg = cfg database.DatabaseTable.__init__(self, db) self.authClient = auth_client.getClient(cfg.authSocket)