我正在使用Python + Pylons对用户进行身份验证,然后发送一个唯一的md5总和并将其存储为cookie以在每次加载页面时验证用户。在我的应用程序中哪里是放置cookie处理功能的最佳位置,以便在我的应用程序中可以访问它们?我应该声明一个全局变量,例如USER,它可以在整个应用程序中访问,存储登录用户的名字,姓氏等重要值吗?感谢。
答案 0 :(得分:3)
听起来你已经在cookie中使用了userid,你只是想让它更容易访问。您可能会发现有一个简单的帮助函数可以接收请求并返回用户。
def get_user(request):
""" Load the user from the request, or None if unauthenticated."""
if not hasattr(request, '_cookie_user'):
# parse the userid from the cookie
# make sure you actually trust this cookie by signing it
# or storing it in something that's already protected
# like beaker instead of a raw cookie
userid = request.cookies['mycookie']
request._cookie_user = DBSession.query(User).get(userid)
if user and user.is_active:
request._cookie_user = user
return getattr(request, '_cookie_user', None)
稍后在您的应用中,您只需拨打user = get_user(request)
。
答案 1 :(得分:0)
数据库或内存缓存通常是存储此类信息的地方。
Pylons提供Beaker:http://docs.pylonsproject.org/projects/pylons-webframework/en/latest/sessions.html