2011-09-02 72 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()',然後根據需要完全工作。無論如何,非常感謝你的回答 –

相關問題