これで、ログインページのリダイレクトが行われるという面白いケースがあります。
私のWebサービスにはログインページ(login.html)があり、ログインを処理し、ハードコードされた「デフォルト」ページにリダイレクトするためのJavaScriptがあります。 Webサービスは、ユーザーが認証されていない場合にリダイレクトを処理するサーブレット・フィルターを使用してJavaで記述されています(ログインしないでdomain/statistics
にアクセスしようとすると、domain/login.html
に導かれます)。保護されたサービスからのリダイレクトが機能する:私はログインページにリダイレクトすることができ、ユーザーが認証されると、それらをデフォルトページにリダイレクトする。ただし、前のページにリダイレクトする問題があります。
これは通常私が試したJavaScriptの引数document.referrer
で処理されますが、response.sendRedirect
のJavaのリダイレクトのために、Refererヘッダーは送信されません。JavaとJavascriptによるログインページのリダイレクト
どのようにして、以前に呼び出されたページにリダイレクトすることができますか? Javascript側、Java側、またはその両方に追加する必要があるのでしょうか?
はありません。 – mplungjan
さて、空のヘッダ(これはデフォルトのリダイレクト)の場合がありますし、それを保持するためにある種の「ホワイトリスト」を実装していますサイト上のトラフィック、悪意のあるWebサイトへのリダイレクトを避けるなどセキュリティ上の懸念があると認識していますが、できる限り最善の方法で対応しています。私は「あなたはそれをすることはできません」と言っている以上に、より多くの勧告を望んでいます。 – ZKSteffel
あなたはそれを行うことができますが、間違いなくリファラーを使用する必要があります。とにかく実際の* URLは確かにあなたのサーバーが知っている必要はありません。 – Pointy