2011-09-02 24 views
12

私はBeamerセッションでPyramidを使用してWebアプリケーションを作成しています。ユーザーがピラミッドで認証されているかどうかを確認するためのビーカーセッションの使用

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

質問です:私は、ユーザーrequest.session['user_id']のidとに成功署名した後、いくつかの他の情報を格納し、ユーザーがすでに署名したかどうかをチェックするためにそれを使用したい
は、それが安全であるセッションに依存しますか、ピラミッドの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()'を呼び出すだけで、必要に応じてすべてが正しく動作します。とにかく、お返事いただきありがとうございます –

関連する問題