0

こんにちは、同じマシンで 2 つの戦争があります。warA と warB としましょう。

ユーザーが /warA にいるとき、同じユーザーの sessionId が /warB にあります。そして、私はこのセッションを殺したいです。

私の目的は、ユーザーが /warA の場合、 /warB のユーザー セッションが強制終了されたことを確認したいということです。

/warB のセッションを強制終了するサーブレットを作成し、それを /warA から呼び出すと言う人もいます。

これができない理由は、/warB の前にエージェント (Oracle Access Manager) があり、認証部分を実行し、warB のサーブレットを直接呼び出すことができないためです。

それで、私の仕事をする他の方法はありますか?

編集:

私はこれを見つけました。OAM エージェントはこの要求に違反しますか? 単純なリクエストですか、それともコンテキスト間のリクエストですか?

servletContext.getContext("/warB").getRequestDispatcher("/logout");

4

1 に答える 1

1

2 つの war ファイルが同じ WLS サーバーにデプロイされている場合、これがデフォルトの動作だと思います。で別の Cookie 名をコンフィグレーションしない場合、WebLogic は jsessionid という名前の Cookie にセッション ID を格納しましたweblogic.xml。したがって、ユーザーが war2 にログインすると、war1 の jsessionid Cookie が上書きされ、war1 とのセッションは維持されません。

于 2013-03-05T19:39:57.653 に答える