web_middlewares.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:burnell-web 作者: BurnellLiu 项目源码 文件源码
def auth_factory(app, handler):
    """
    ????????, ????????????
    :param app: WEB????
    :param handler: ??????
    :return: ???????
    """
    async def auth(request):
        request.__user__ = None

        # ?COOKIE????????, ??????????
        cookie_name = configs.user_cookie.name
        cookie_str = request.cookies.get(cookie_name)
        if cookie_str:
            user = await user_cookie_parse(cookie_str, configs.user_cookie.secret)
            if user:
                request.__user__ = user

        # ??????, ??????????
        if request.path.startswith('/manage/') and (request.__user__ is None or not request.__user__['admin']):
            return web.HTTPFound('/')
        return await handler(request)
    return auth
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号