2

こんにちは、2 つの tomcat サーバーで実行されている 2 つの異なるアプリケーション間で同じセッションを維持したいと考えています。ログイン中に 1 つのセッションが作成される 1 つのサーバーで 1 つのアプリケーションを実行しています。アプリケーションのリンクをクリックすると、別の tomcat サーバー上の 2 番目のアプリケーションにリダイレクトされます。その時点で、最初のサーバーにあるのと同じセッションを維持する必要があります。その後、最初のサーバーのアプリケーションに戻った場合、認証を再度要求する必要はありません。同じセッションを使用する必要があります。

JSP で2 つの tomcat サーバー間でセッション IDまたは詳細を渡す方法はありますか。

誰でも助けることができます。

4

3 に答える 3

2

SSO(シングルサインオン)ソリューションが必要になると思います。だからここに無料で利用できるこれらといくつかのオープンソースがあります:

  1. Open AM(以前のOpen SSO)
  2. JOSSO(Javaオープンシングルサインオン)
  3. CAS(中央認証サービス)

ここで説明したアプローチに従って、サーブレットフィルタを使用して、これらのWebアプリケーションの両方でカスタムセキュリティを構築することもできます。

注: SSOソリューションを使用したくない場合にのみ、カスタムソリューションを選択してください(これは面倒ですが、良い学習です;-))。ここに記載されている理由により、車輪の再発明を行わないことをお勧めします)

お役に立てれば。

于 2012-09-17T07:31:03.997 に答える
0

同じマシンで 2 つの tomcat サーバーを使用している場合、一方のサーバーには 8080 があり、もう一方のサーバーには 8081 があるように、両方のサーバーに異なるポートがあります。

これで、属性を設定して 2 番目のアプリケーションにリクエストを単純に転送できます。次のような URL で 2 番目のアプリケーション jsp のフル パスを指定することを忘れないでください。

http://localhost:8081/2nd_application/page.jsp

JSP には、アプリケーション、セッション、リクエスト、およびページの 4 つのスコープがあります。

ここでの Request スコープの使用は、私の権利です。

于 2012-09-16T18:57:00.193 に答える
0

resp.encodeRedirectURL()と一緒に使用 してくださいresp.sendRedirect()

このような :

response.sendRedirect(response(encodeRedirectURL("outputpage.jsp"))

希望は正しい解決策を提供しました。

于 2013-04-28T03:49:17.017 に答える