Exemple #1
0
 def auth(request):
     logging.info('check user: %s %s' % (request.method, request.path))
     request.__user__ = None
     cookie_str = request.cookies.get(COOKIE_NAME)
     if cookie_str:
         user = yield from cookie2user(cookie_str)
         if user:
             logging.info('set current user: %s' % user.email)
             request.__user__ = user
     return (yield from handler(request))
Exemple #2
0
 def auth(request):
     logging.info('check user: %s %s' % (request.method, request.path))
     request.__user__ = None
     cookie_str = request.cookies.get(COOKIE_NAME)
     if cookie_str:
         user = yield from cookie2user(cookie_str)
         if user:
             logging.info('set current user: %s' % user.email)
             request.__user__ = user
     if request.path.startswith('/manage/') and (request.__user__ is None or not request.__user__.admin):
         return web.HTTPFound('/signin')
     return (yield from handler(request))
Exemple #3
0
 def auth(request):
     logging.info('check user: %s %s' % (request.method, request.path))
     request.__user__ = None
     cookie_str = request.cookies.get(COOKIE_NAME)
     if cookie_str:
         user = yield from cookie2user(cookie_str)
         if user:
             logging.info('set current user: %s' % user.email)
             request.__user__ = user
     if request.path.startswith('/manage/') and (request.__user__ is None or not request.__user__.admin):
         return web.HTTPFound('/signin')
     return (yield from handler(request))
Exemple #4
0
    def auth(request):
        #不需要手动创建 Request实例 - aiohttp.web 会自动创建。
        #打印(请求方法,请求路径)日志:
        logging.info('check user: %s %s' % (request.method, request.path))
        request.__user__ = None
        cookie_str = request.cookies.get(COOKIE_NAME)
        if cookie_str:
            #根据COOKIE名解析对应cookie;
            user = yield from cookie2user(cookie_str)
            #解析cookie信息不为空则赋值到request.__user__:
            if user:
                #打印(设置当前用户信息)日志:
                logging.info('set current user: %s' % user.email)
                request.__user__ = user
        #请求路径以‘/manage/’开头,且cookie用户信息不为空或cookie用户权限是否为管理员权限:
        if request.path.startswith('/manage/') and (request.__user__ is None or request.__user__.admin):
            return web.HTTPFound('/signin')

        return (yield from handler(request))
Exemple #5
0
    def auth(request):
        #不需要手动创建 Request实例 - aiohttp.web 会自动创建。
        #打印(请求方法,请求路径)日志:
        logging.info('check user: %s %s' % (request.method, request.path))
        request.__user__ = None
        cookie_str = request.cookies.get(COOKIE_NAME)
        if cookie_str:
            #根据COOKIE名解析对应cookie;
            user = yield from cookie2user(cookie_str)
            #解析cookie信息不为空则赋值到request.__user__:
            if user:
                #打印(设置当前用户信息)日志:
                logging.info('set current user: %s' % user.email)
                request.__user__ = user
        #请求路径以‘/manage/’开头,且cookie用户信息不为空或cookie用户权限是否为管理员权限:
        if request.path.startswith('/manage/') and (request.__user__ is None
                                                    or request.__user__.admin):
            return web.HTTPFound('/signin')

        return (yield from handler(request))