5

SecureSocial を使用する Play 2.0.4 Web アプリを使用して、ユーザーが twitter、facebook、gmail などのサードパーティ プロバイダーを通じてログインできるようにしています。その時点で、私は自分の UsernamePasswordProvider を使用していません。後で追加するかもしれません。

ユーザーが長時間、おそらく 1 週間ログインしたままにする必要があります。私の場合、ユーザー セッションはカスタマイズなどのさまざまな便利な機能に使用されるだけなので、長時間のセッションに関連するリスクは、毎回ログインする必要がないという利便性よりもはるかに重要です。

現在、セッションは、ユーザーがブラウザを終了すると消える一時的な Cookie に保存されているようです。設定ファイルにsessionTimeOutパラメータがありますが、長時間開いたままのブラウザでセッションを終了させるのが目的のようです。少なくとも、このタイムアウトが大きな値に設定されていても、ブラウザーを閉じて再度開くと、セッションはすぐに中断されます。

ユーザーを長時間ログインさせておくための推奨される方法は何ですか?

4

3 に答える 3

3

マスターからの最新のスナップショット (Play 2.1 用) には、必要に応じてオーセンティケーター Cookie を永続化する新しいプロパティがあります。構成ファイルに次を追加できます。

securesocial.cookie.makeTransient=false
securesocial.cookie.absoluteTimeoutInMinutes=1440
securesocial.cookie.idleTimeoutInMinutes=1440

これにより、Cookie が永続化し、セッションが 24 時間持続します。

于 2013-02-26T19:56:26.030 に答える
2

構成はここで定義され、使用されます: CookieAuthenticator

変数にマウスを合わせると、構成がどのように使用されているかを確認できます。

2 つの構成: absoluteTimeout と idleTimeout は異なる目的で使用されます。このは、Cookie がいつ有効と見なされるかを制御します。

したがって、absoluteTimeoutInMinutes には他の値よりもはるかに大きな値を使用することをお勧めします

于 2015-01-22T03:14:28.523 に答える