ほとんどのリクエストが AJAX 経由で送信されるアプリケーションがありますが、一部は「通常の」HTTP リクエスト経由で送信されます。リクエストが送信され、ユーザーのセッションがタイムアウトした場合、次の JSON が返されます。
{"authentication":"required"}
すべての AJAX 要求を送信する JavaScript 関数は、ポップアップ メッセージを表示し、ユーザーをログイン ページにリダイレクトすることで、この応答を処理します。
ただし、AJAX 以外のリクエストがこのレスポンスを受信すると、JSON がブラウザに表示されるだけです。これは、レスポンスがブラウザによって直接処理されるためです (つまり、前述の JavaScript 関数がバイパスされます)。明らかにこれは理想的ではなく、この応答を受け取る非 AJAX 要求が AJAX 要求と同じように動作することを望みます。これを達成するために、2 つのオプションを考えることができます。
アプリケーションを調べて、すべてのリクエストを AJAX リクエストに変換します。これは機能しますが、時間がかかる可能性もあります。
上記の JSON は、非常に単純な JSP によって生成されます。コンテンツがブラウザーに表示される直前に実行される JavaScript イベント ハンドラーをこの JSP に追加できるかどうか疑問に思っています。このハンドラーは、ポップアップを表示してリダイレクトを実行する他の JavaScript コードを呼び出すことができます。
(2) で概説したハンドラーを正確に実装する方法を誰かが知っている場合、または他の潜在的な解決策がある場合は、それらを伝えていただければ幸いです。
乾杯、ドン