Weblogic 11gのすべてのアプリケーションでのセッションを無効にします

StackOverflow https://stackoverflow.com/questions/3933687

  •  30-09-2019
  •  | 
  •  

質問

私はWeblogicを初めて使用しており、JBossからの一連のWebアプリケーションを移植しています。同じWeblogicサーバーに展開するという複数の戦争があります。それらはすべて、Active Directoryに裏打ちされたフォームベースの認証用に構成されています。

ただし、アプリケーションからログアウトするのに問題があります。実際のlogin.jspフォームを含むログインアプリケーションとして機能するアプリケーションの1つがあります。また、session.invalidate()を呼び出すログアウトサーブレットもあります。これを呼び出した後、メインアプリケーションで保護されたページにアクセスすることはできませんが、他のアプリケーションで保護されたページにアクセスできます。

私が読んでいることから、Weblogic 11gはすべてのアプリケーションで同じセッションを共有しています。これは、私が見ているものに理にかなっています。以下を使用して、すべてのアプリケーションでセッションを無効にすることへの参照を見つけています。

invalidateAll(HttpServletRequest req)

パッケージで

weblogic.servlet.security.ServletAuthentication

ただし、Weblogic 11gでこれや類似したものは見つかりません。このユーティリティクラスはどこにありますか、それともどうすればいいですか?

ありがとう

アップデート:

以下のJosekの回答に基づいて、展開しているすべてのアプリケーションのWeblogic.xmlファイルに以下を追加する必要がありました。

 <session-descriptor>
     <sharing-enabled>true</sharing-enabled>
 </session-descriptor>

私が探していた瓶は、サーブレットアテンティケーションクラスを含むwls-api.jarと呼ばれます。 Web Logic ServerのZIPベースの10.3.3.0バージョンを使用していました。 WLSERVER_10.3サーバーのインストールのインストールで、Weblogic Fusionのインストールの一部としてJARが見つかりました。私はちょうど瓶を取り、それをNexus Mavenリポジトリに追加しました。

役に立ちましたか?

解決

invalidateAll WLS 10.3(別名11g)の一部として文書化されているため、ログアウトサーブレットで動作するはずです。試してみて、エラーに直面しましたか?

また、session.invalidate()を呼び出すログアウトサーブレットもあります。これを呼び出した後、メインアプリケーションで保護されたページにアクセスできませんが、他のアプリケーションで保護されたページにアクセスできます

これは私に、セッションがあることを示しています いいえ デフォルトの動作であるWebアプリケーション全体で共有されます。セッションが共有された場合、ユーザーはすべてのアプリケーションからログアウトされます。セッションを共有するには、設定する必要があります sharing-enabled本当です

として ドキュメントの状態,

デフォルトでは、Webアプリケーションは同じセッションを共有しません。 Webアプリケーションに同じセッションを共有したい場合は、Weblogic-Application.xml展開記述子のアプリケーションレベルでセッション記述子を構成できます。 Webアプリケーションが同じセッションを共有できるようにするには、セッション記述子の共有対応属性をWeBlogic-Application.xml deployment DecruptorでTrueに設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top