1

私はプレイ フレームワークの認証システムを実装したいと考えています。
公式ドキュメントから:

セッションは単なる Cookie であるため、単なる HTTP ヘッダーでもありますが、Play はセッション値を保存するためのヘルパー メソッドを提供します。

さて、あなたはコンテンツを Cookie に保存しています.....
とにかく、サーブレット 3.0 は、pla 2.0 で現在使用されているものよりもはるかに優れた新しいセッション スコープを宣言したことに注意してください。
現在、すべてのセッション情報は Cookie に保存されています。これは、user.id などの最小限のデータのみを保存できることを意味します。そうしないと、激しい http トラフィックが発生します。
サーブレット 3.0 は php セッションのように機能します。ID のみがシステムによってクライアントに自動的に保存され、代わりにすべてのセッション データがサーバーに保存されます。また、Cookie は、Cookie 盗用攻撃に対する各要求で再生成されます。
Spring はすでにこの仕様 "@scope(session)" を使用していることに気付きましたが、これが play フレームワークの最大の欠点だと思います..(ドキュメント内のバグのある例も良くありません)
現在のシステムは本当に受け入れられず、遅すぎて不安定です。

サーブレット 3.0 セッション スコープを使用する方法はありますか、それとも将来のバージョンで実装する予定はありますか?

ニコラについて

4

1 に答える 1

1

セッション:はい、そうです。デフォルトでは、Play のセッションは cookie スコープにのみ保存されます。commonPlay clean の実装は、 DB を強制的に使用する Web アプリケーションを構築することを目的としているだけでなく、他のtypicalものが利用可能であるため、最小限の依存関係から始めることを目指していますが、... 時には自分で 2cc を追加する必要があります。

認証/承認: 幸いなことに、これらのメカニズムを最初から作成する必要はありません。公開されているモジュールはほとんどなく、それで機能します。私のお気に入りは、Joscha Feth によるPlay Authenticateです。承認と認証のための完全なスタックで、多言語サポート、複数プロバイダーのサポート (Facebook、Twitter など)、ロールとパーミッション (Deadbolt2 を使用) などを備えています。

しばらく前に、 の上に構築されたサンプルも公開しましたPA。これは、より優れたセッション処理を示しており、(ほぼ) 必要なすべてのことを実行します。sesIdリクエストごとに更新されるわけではありませんが、これは小さな変更です。自分で実装できます。また、セッションをより安全なものにするためのアイデアも歓迎します。

ソース コードは、私のフォークの2.0.4_sessionsブランチに公開されています。Joscha はそれを公式の PA サンプルに引っ張ることに興味を持っています。とにかく私は完成したソリューションを提供したいので、私が書いたように参加できます :)

于 2013-02-08T17:59:09.267 に答える