在Pyramid中使用beaker会话检查用户是否已认证
我正在用Pyramid框架创建一个网页应用,并且使用Beaker来管理用户会话。
我想在request.session['user_id']
中存储用户的ID,以及一些其他信息,前提是用户成功登录。然后我想用这些信息来检查用户是否已经登录过。
if 'user_id' in request.session:
# user signed in
else:
# user not signed in or session is expired
我的问题是:依赖会话信息是否安全?还是说使用Pyramid的authenticated_userid()
,配合remember()
和forget()
这几个功能会更好、更安全呢?
1 个回答
11
使用 pyramid_beaker 和 SessionAuthenticationPolicy,然后用 pyramid.authentication.authenticated_userid()
来检查用户是否登录。如果返回 None
,那就说明用户没有登录。