4

Update1:

play2でCookieとセッションを管理する方法の簡単な例を教えてください。(私が機能することを忘れないでください)

さて、私はプレイ認証の背後にある主要な概念を理解していると思います。

Zentasksはセッションを使用します。セッションはサーバーにのみ保存されることを知っています。そして、play2のセッションはすでに署名されています。クッキーはそうではありません。

ユーザーがブラウザを閉じてもログインしたい場合はどうなりますか?

クッキーを使う必要があります。

私は何をすべきか?

セッションを作成するCookieを作成しますか?

例えば

  • ユーザーは有効なCookieを持っています
  • cookie valを取得し、新しいセッションを作成します

または、セッションを完全に破棄して、代わりにCookieのみを使用しますか?クッキーはplay2によって自動的に署名されないので、私は自分で署名する必要があります。

response().setCookie("remember",Crypto.sign(rnd) + "-" + obj.getClass().getName() + "-" + rnd,12000);

(セキュリティで保護されたhttpのみのフラグを使用してまだセキュリティで保護されていないことはわかっています)

欠陥のある新しいシステムを発明したくありません。play2で認証を安全にする方法を教えていただければ幸いです。

4

2 に答える 2

3

Playのセッションスコープは、署名された(安全な)Cookieにすぎません(サーバー側ではなく、クライアント側に保存されます!)

上記のドキュメントから:

セッションとフラッシュのデータはサーバーに保存されない が、Cookieを使用して後続の各HTTPリクエストに追加されることを理解することが重要です。

したがって、 存在し、いずれかのユーザーと一致するlogged inかどうかを確認することで、状態を維持できます。session scope's key

事実上のセッションスコープは自動的に期限切れにならないため、ユーザーはアクションリンク(セッションのキーを破棄するだけでよい)をlogged inクリックするまでlogout有効期限が切れます(一部のブラウザーでのみ)

于 2012-08-07T14:03:07.657 に答える
0

これは私を大いに助けました

http://bazaar.launchpad.net/~opensource21/permsec/trunk/view/head:/psec/app

于 2012-09-06T14:02:41.833 に答える