def cookie2user(cookie_str):
'''
Parse cookie and load user if cookie is valid
'''
if not cookie_str:
return None
try:
L = cookie_str.split('-')
if len(L) != 3:
return None
uid, expires, sha1 = L
if int(expires) < time.time():
return None
user = await User.find(uid)
if user is None:
return None
s = '%s-%s-%s-%s' % (uid, user.passwd, expires, _COOKIE_KEY)
if sha1 != hashlib.sha1(s.encode('utf-8')).hexdigest():
logging.info('invalid sha1')
return None
user.passwd = '******'
return user
except Exception as e:
logging.exception(e)
return None
# @get('/')
# async def index(request):
# users = await User.findAll()
# return {
# '__template__': 'test.html',
# 'users': users
# }
评论列表
文章目录