示例#1
0
    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