JBoss5.1上のRichFaces3.3.3を使用したJSF1.2アプリケーションがあります。サーバーを再起動してアプリに最初にログインすると、次のURLの空白のページにリダイレクトされます
これは、サーバーの再デプロイと再起動後の最初のログインでのみ発生します。2回目のログイン以降は正常に機能します。
これはどのように発生し、どうすれば解決できますか?
JBoss5.1上のRichFaces3.3.3を使用したJSF1.2アプリケーションがあります。サーバーを再起動してアプリに最初にログインすると、次のURLの空白のページにリダイレクトされます
これは、サーバーの再デプロイと再起動後の最初のログインでのみ発生します。2回目のログイン以降は正常に機能します。
これはどのように発生し、どうすれば解決できますか?
コンテナ管理の認証は、認証チェックをトリガーした最初のHTTPリクエストに自動的にリダイレクトされます。
CSSファイルにリダイレクトされたということは、実際のページがサーバーから直接ではなくブラウザキャッシュから要求され、CSSファイルが完全にまたは条件付きGETによってサーバーから直接要求されたことを意味するだけです。
2つの問題を修正する必要があります。
制限されたページをキャッシュしないようにブラウザに指示するフィルタを作成します。このフィルターをセキュリティ制約と同じURLパターンにマップします。このように、ブラウザはキャッシュからそれらを要求することはありません。これは、応答に次のヘッダーを設定することによって行われます。
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.
CSS / JS/imagesなどの静的リソースを認証チェックから除外します。それらのリソースのURLパターンに別のallow-allセキュリティ制約を追加します。たとえば/a4j/*
、、、など/resource/*
、/static/*
またはあなたが持っているものは何でも。このように、サーバーはこれらの要求を認証しません。
web.xmlファイルを投稿できますか。可能であれば、リッチフェイスjarからcssを外部化してみてください。初めてcssをロードしているときに、何らかの例外があるか、時間がかかりすぎているようです。web.xmlを投稿してください