def authenticate(self, **credentials): try: username = credentials['username'] password = credentials['password'] except KeyError: return None t = int(time.time()) salt = User._get_user_salt(login_name=username, t=t) if salt is None: return None user = User._get_user(login_name=username, login_password=password, t=t, salt=salt) if user is None: return None # 缓存用户信息 cache.hset('user:user', user.user_id, json.dumps(user._raw_objects)) return user