2011-09-14 20 views
13

ローカルネットワークにFlaskアプリケーションがあり、メールサーバーとWebサービスに接続しています。 3つとも同じLDAP認証ソースを使用しているため、アプリケーションがこれらのインターフェイスのいずれかに接続するたびに、同じ資格情報をユーザーに提供する必要はありません。Flaskにセッションごとに資格情報を安全に保存する方法

セッションの存続期間中にユーザーの資格情報を保持して他のインターフェイスと共有できる最も安全な方法は何ですか?

私が見つけた1つのオプションは、セッション変数server-sideを格納するFlask-KVSessionです。


更新:テストでが、私はそれは悪い考えでなければなりませんように思えたときにユーザーがログインするapp.configで辞書に資格証明書をドロップを試してきたが、私はなぜ考え出したていませんまだ。アクティブなセッションの資格情報が消える可能性があることはわかっていますが、存在していないかどうかを確認するのは簡単です。さらに、サーバサイドセッションの変数のようにファイルシステムに書き込まれることはありません。

私はこのアプローチで明白な問題がないかどうかを知りたいと思います。

答えて

12

サーバー側のセッションでユーザーの資格情報を保存するには、私は間違いなくFlask-KVSessionのようなものを使用します(これは+1です)。これにより、ユーザーの資格情報をクッキーに渡すことができなくなります。すべての問題を自分で発見することなく、セッション管理のより面白い部分に対処するためにFlask-Loginを追加します。 app.configLocalProxyではないので、スレッドセーフではありませんのでapp.configに資格情報を削除

は良いアイデアではありません。 1回のリクエストでapp.configに行った変更がでないことが保証されていない場合、は他のリクエストに影響を与えます。 (あなたは文脈の地方herehereについてもっと読むことができます)。

+0

ありがとうございます。私はパスワードがサーバ上のセッションで保存されるのを心配していましたが、メモリ内のストアを使用することは可能ですので、問題ではありません。 –

+0

Flask-KVSessionの上でどのようにFlask-Loginを使用できますか? –

関連する問題