2012-05-03 5 views
0

"レガシー" JSP /サーブレットベースのアプリケーションと共に単一のEARファイル(コンテナはWebLogic 11g)にデプロイされる新しいJSF Webアプリケーションのセキュリティを実装する必要があります。 JSFフェーズ・リスナーを使用して、ユーザーがセッション中にログインしていることを示すフラグを持っているかどうかを確認します(「共有セッション・データ」は両方のWebアプリケーションが同じHTTPセッションを使用するようにオンになっています) 。ユーザーがログインしていない場合、別のコンテキスト・ルートにリダイレクトするようにJSF 2.0 web.xmlを構成できますか?

可能であればフェーズリスナーを使用しないで、ログインしていないユーザーをログインページにリダイレクトするようにweb.xmlで指定します(これは、レガシーWebでチェックがどのように実装されたかですapp)ただし、ログインページは、JSF Webアプリケーションとは異なるコンテキストルートの「レガシー」アプリケーションに存在します。 (レガシー・アプリケーションは、新しいJSF Webアプリケーションよりも古いサーブレット・コンテナ・バージョンで動作することに注意してください)。

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

+0

基本的には「シングルサインオン」(SSO)を探しています。構成はサーバー固有です。私はWeblogicを一度も使用していないので、私は頭の上から答えることはできません。そのキーワードを確認するか、[Google](https://www.google.com/search?q=weblogic+sso)の「Weblogic」と組み合わせて開始点を確認することをおすすめします。 – BalusC

答えて

0

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

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