著者の設定、実際にこのタイプを保存できるかどうかなど、Playアプリケーションのモデルのどこかで現在のユーザーにアクセスしたいと考えています。Scalaのモデルの現在のリクエスト/ユーザー詳細再生中! 2.5
理想的には、私はGuiceの@RequestScoped
を使用して、私が必要としているときに私の要求に同じUserIdentity
を注入したいと考えています。しかし、限り、私は言うことができる、プレイ!フレームワークは@Singleton
をサポートし、スコープはありません。したがって、私たちが要求したすべてのモデル/ユーティリティに対して同じ要求を受け入れるか、別のものをUserIdentity
に注入するかどちらかです。明らかな理由から、どちらもノーゴスです。
Play 2.5でこの動作を利用する方法はありますか?私は私がプレイのセッションとキャッシュの組み合わせを使用してみました
を試してみました
他のもの。しかし、私が持っている問題はセッションが不変なので、同じリクエストで再利用するために何も追加できないということです。
私は多くの認証フレームワークを見てきましたが、それらはすべて、現在のユーザーオブジェクトを私に提供せずに、アクションを確保することに焦点を当てているようです。
私の問題は、あなたの答えが示唆していると思われるコントローラーではなく、ユーザーデータをモデルに入れたいということです。 –
モデルにユーザーデータをパラメータとして渡さないのはなぜですか? – marcospereira
@marcospereiraその問題は、依存性注入を使用する正確な理由です。すべてのレベルのメソッドは、実際にそれを使用したいメソッドに到達するまで、IDを渡す必要があります。また、コントローラでインスタンス化する必要があることを意味しますが、これは必ずしも行う必要はありません。理想的には、私はそれが必要なときに注入されたい。私はそれを暗黙的に渡すことになるかもしれませんが、それは理想的か慣用かとは思いません。 –