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))
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))
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))