0

単一の EAR ファイル (コンテナは WebLogic 11g) で「レガシー」JSP/サーブレット ベースのアプリとともにデプロイされる新しい JSF Web アプリのセキュリティを実装する必要があります。現在、ユーザーがログインしていることを示すフラグがセッションにあるかどうかを確認する JSF フェーズ リスナーがあります (両方の Web アプリが同じ HTTP セッションを使用するように、「共有セッション データ」がオンになっていることに注意してください)。 .

可能であれば Phase Listener を使用せず、代わりに web.xml で指定して、ログインしていない場合にユーザーをログイン ページにリダイレクトすることをお勧めします (これが、従来の Web アプリでのチェックの実装方法です)。ログイン ページは、JSF Web アプリとは異なるコンテキスト ルートの「レガシー」アプリに存在します。(従来のアプリは、新しい JSF Web アプリよりも古いバージョンのサーブレット コンテナーで実行されることに注意してください)。

JSF Web アプリの web.xml ファイルを構成して、コンテキスト ルートが異なる場合に最初の Web アプリのログイン ページにリダイレクトできるようにする方法はありますか?

4

1 に答える 1

0

WebLogic 11gでは、これを行う方法(別のコンテキストルートのログインページにリダイレクトする方法)はないようです。フェーズリスナーソリューションが最良のアプローチであるかのように見えます。

注WebLogic11gでは、単一のEARにデプロイされたWebアプリ間でセッションとユーザープリンシパル情報を共有できますが、web.xmlが存在する現在のWebアプリとは異なるコンテキストルートにあるログインページへのURLの指定はサポートされていません。 。そのため、他のWebアプリのログインページへのリダイレクトを実行できるサーブレットフィルターのようなソリューションが必要です。

于 2012-05-08T18:14:21.980 に答える