2017-11-17 1 views
0

一晩中ラップトップをスリープ状態にした後。私がブラウザにログインページを残してログインしようとすると、CSRFフィールドを持っていても常にトークンの不一致例外が発生します。しかし、このページを再ロードして再度ログインすると、このエラーは表示されません。奇妙な。助けてください。ログインページのトークンが不一致で、ブラウザで長く滞在していたとします。

+0

代わりに私のオプションを覚えてください –

答えて

0

CSRFトークンはセッションに保存されます。セッションは一晩中終了します。

したがって、ログインしようとすると、CSRFトークンは有効ではないとみなされます。ページを更新すると、新しいトークンが生成され、セッションに格納されます。その後、ログインを再試行すると、トークンは有効です。

+0

ええ、私はポイントを得るので、再ロード/リフレッシュが今のところ唯一の解決策であることを意味します。あなたは、クライアントがこれがアプリを信用できないと判断したときを知っています。 –

+0

いいえ、再読み込み/リフレッシュは1つの解決策です。もう1つは、独自のエラーページを作成します。または、エラーページがjavascriptまたはjqueryを使用して読み込まれたときに、ユーザーをログインページにリダイレクトします。これにより、ユーザはあなたのアプリケーションを信用できなくなります。 –

+0

@Kennethmwangiあなたはエラーハンドラで 'TokenMismatchException'を傍受し、それを使ってユーザをあなたのログインページにリダイレクトするか、カスタムエラーページを表示することができます。 – fubar

関連する問題