2011-09-02 52 views
12

我正在使用金字塔和烧杯会话来创建Web应用程序。
我想用来存储用户ID request.session['user_id']并成功签约后,其他一些信息,然后用它来检查,如果用户已经登录:使用烧杯会话来检查用户是否在金字塔中进行了身份验证

if 'user_id' in request.session: 
    # user signed in 
else: 
    # user not signed in or session is expired 

的问题是:是不是安全的依靠会话或使用金字塔的authenticated_userid()remember()forget()pyramid.security会更好和/或更安全吗?

回答

11

使用pyramid_beaker和SessionAuthenticationPolicy,然后使用pyramid.authentication.authenticated_userid()来检查它们是否已登录。如果它返回None,它们不是。

+0

我应该怎么做'authenticated_userid()'得到实际的用户ID?我应该通过我从'remember()'得到的标题吗? –

+0

像这里的“登录”视图:https://docs.pylonsproject.org/projects/pyramid/1.2/tutorials/wiki2/authorization.html#adding-login-and-logout-views ..设置记住的结果到响应标题。 –

+0

我只是在调用'remember()',然后根据需要完全工作。无论如何,非常感谢你的回答 –

相关问题