2016-09-19 5 views
8

私は2つのHTTPサーバーによって提供されるUIを持っています。 したがって、私は両方のサーバーからHTTPセッションをきれいにする必要があります。 ログアウトの使用例はシンプルですが、セッションタイムアウトの使用の場合はどうすればよいかわかりません。セッションタイムアウト時にブラウザからのHTTPリクエスト

サーバー側の通知は、HttpSessionBindingListener Getting notification when bounded/unbounded to a HTTP sessionを介して可能です。 しかし、クライアントのサイトにどうすれば通知できますか? 2番目のサーバーでセッションCookieをクリーンアップできるように、ブラウザから2番目のサーバーに要求を送信する必要があり、サーバー側からリクエストを送信できません。

を追加しました

1つのサーバーにTomcat 8で、第二のサーバは、Apache HTTPDサーバーです。私は、UIコールバックが可能(Tomcat HTTPサーブレットサーバから)可能で、それを解決したい。

のApache HTTPD(アパッチ)のドキュメントから
+0

それ以上のサーバー構成ではありませんか?セッションを共有するようにサーバーを構成する方法があると思いました。バージョンを含め、使用しているサーバーに関する詳細を含めることはできますか? – Kieveli

+0

良い質問です。私は詳細を待っています。私は、このアプローチをSpringセッション(クラスタ化:http://docs.spring.io/spring-session/docs/current/reference/html5/#httpsession-redis)と比較しました。これは、クラスタ化されたセッションを管理するためにredisのような外部ストアを使用します。 PS:そのような質問のためにSOにサブスクライブボタンがあったらいいですか? – code4kix

+0

Kieveli、私はセッション共有を設定したくありません。 1台のサーバーはTomcat 8、2台目のサーバーはApache HTTPDサーバーです。 UIコールバックを使用して解決することができます(Tomcat HTTPサーブレットサーバーから)。 code4kix質問に登録するには、スターボタンを押すだけです – Michael

答えて

4

:あなたは、独自のモジュールを書くことができ、あなたがセッションを削除するには、このモジュールを使用することができ

https://httpd.apache.org/docs/2.4/mod/mod_session.html#integration

  • 外部アプリケーションと

    統合セッションTomcatが消耗品だと思った後。

  • TomcatとApacheの両方に外部のセッションデータベースを使用することができます(たとえば、MySQLの場合)、両方のサーバーがユーザーを検証します。セッションを削除すると、データベースからエントリを削除するだけで済みます。
  • スタンドアロンアプリケーションとして:ドキュメントの状態として、セッションファイルを見つけてアクセスしたり、セッションファイルを破棄したり、編集したりする作業を行う必要があります。 TomcatとApacheが別々のマシンにある場合、Apacheボックスにリスナーを持つエージェントを置くことができ、Tomcatにエージェントにセッションデータの削除を要求させることができます。
  • 通常、ApacheはPHPと連携し、データベースもあります。どちらも独自のセッションを処理できます。
+0

私はデータベースを介してセッションを管理したいと思います。上記の答えで解決策を見つけることができません – Michael

+1

私はコードを書いていませんが、もう一度、あなたはおそらく、Apacheのhttpdボックス(またはあなたのfork of apache)上でスタンドアロンのアプリケーションを実行したいでしょう。ポートでリッスンする(ソケットまたはjava呼び出し)。 Tomcatがセッションを削除するときはいつでも、このプログラムを呼び出さなければなりません。プログラムは一致するapacheのhttpdセッションを削除しなければなりません。簡単なフレームワーク呼び出しは、あなたはすべてを行う必要があります。 – gia

+0

私はブラウザ経由でコールバックが必要です。私はサーバー側からたくさんのソリューションを開発することができますが、私はブラウザソリューションが必要です – Michael

0

試してみる方法はいくつかあります。

@ Kwebbleで述べたように
  1. 、TomcatのセッションタイムアウトにApacheサーバへの呼び出しを行うと、セッションを無効/ログアウトすることをお願いします。

  2. セッションがTomcatでタイムアウトした場合、UIは要求があったときにそのことを知るようになります。これでUIから、セッションをログアウト/無効化するためにApacheサーバーを呼び出します。

関連する問題