2011-04-05 11 views
3

Webショップ用のTomcatサーバーがあり、ログインするときに別の(安全な)サーバーにユーザーを移す必要があります。Tomcatサーバー間でセッションを転送する方法は?

1)Tomcatサーバーが2つあります。 「定期的な」(HTTP)と1つのセキュア(HTTPS)

2)ユーザーが最初に彼らがログインすると

3)は、我々はデータでのログを取得する必要があり、通常のサーバーだけでなく、情報についてをご覧ください。現在表示されているページ(または見ようとしていたページ)をセキュアサーバーに渡して実際のログインを行います。例えば、ログインしていないユーザが製品のリストを見て、「購入」をクリックすると、ユーザにログインを求めるポップアップが表示されます。ユーザは彼/彼女の資格情報を入力し、これらの情報、および彼が購入したい製品に関する情報は安全なサーバに渡される。セキュアサーバーはこれを受信し、ログインを行い、要求された製品をユーザーに表示します。

これはどのように実行できますか?以下の点に注意してください

1)当社は、クッキーとそれをやってみましたが、我々はそのよう

2)データベースにセッションを永続化し、それをフェッチするセキュアサーバーを有する行かないことに決めましたもオプションではありません

他の方法はありますか?私たちはオブジェクトを作成してHTTP POSTパラメータとして渡すことを考えていましたが、どのようにこれを行うことができないのか分かりません(私はそれを終了するタスクを与えられています)。

私たちが使用するテクノロジーは、Tomcatサーバー、Wicket、Spring、iBatis、およびMySQLです。事前:)

+0

あなたはなぜクッキーに反対したのか尋ねることはできますか?複数のWebサーバー間でユーザーセッションを追跡するために必要なサイトはすべて、Cookieを使用していました。ユーザーの一意のIDを持つCookieを設定し、Cookieが存在する場合は、ユーザーセッションをdbで検索します。あなたのセカンドノートが殺されます。 – Speck

+0

問題は2番目の注意です。私たちはデータベースを使用したくないので、ユーザーのユーザー名、パスワード、およびクッキー内でクリックしたものに関する情報を保存する必要があります。ユーザー名とパスワードをクッキーに保存することはセキュリティ上のリスクです。 – Zoolok

+2

クッキーにユーザー名のパスワードを保存しないでください。あなたのdbがユーザーのIPアドレスとユーザーアカウントの両方に関連付けられている一意のセッションIDをCookieに入れます。また、彼のブラウザセッションでクッキーが期限切れになるようにします。 – Speck

答えて

0

私はあなたが何をしたいの要旨を取得していますが、あなたは、「ポップアップ」を持つことができればわからないで

おかげで保護されたURLへの安全なアプリケーションから提供ページも。これにより、セキュリティ保護されたサーバーで認証が行われ、そこから移動することができます。たとえば、セキュリティで保護されていない製品ページがwww.domain.com/browse/id1にある場合、「購入」ボタンはsecure.domain.com/buy/id1へのポップアップを開き、製品の送信中に認証を引き起こしますURL上のid。

+0

助けてくれてありがとう、私はWicketにRedirectPageがあることを発見しました。私は、コンストラクタにセキュリティで保護されたサーバーのURLを渡してから、redirectToInterceptPage(redirectPage)を実行することで作成しますが、問題は、私が何をしても、パラメータ/プロパティをredirectPageに追加できないということです。私は、RequestParametersもPageParametersもredirectPageに渡すことはできませんし、セキュアサーバー(それらはすべてnullになります)に渡すことはできません。 – Zoolok

2

別のTomcatインスタンス間でセッションを共有したい場合は、セッションレプリケーションとクラスタとして動作するように設定できます。http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html

その後、あなたはロードバランサとして動作するようにApache HTTP Serverを構成することができ、 HTTPリクエストがサーバ1に送信され、HTTPSリクエストがサーバ2に送信されるようにします。

しかし、HTTPとHTTPSの両方を処理し、安全なアクセスを確保するようにTomcatインスタンス(またはN個の同一インスタンス)標準(web.xmlの...<transport-guarantee>CONFIDENTIAL</transport-guarantee>...)またはフレームワーク固有の設定。

+0

こんにちは、私はもう一度:)私は少し忙しかったより早く返信して申し訳ありません。私が追加しなければならないのは、クッキーは使用できません。なぜなら、非安全で安全なサーバーは異なるドメインにあるからです。 Speckのアイデアは私のお気に入りで、私はそれを実装し始めましたが、それはクッキーを使用するので使用できません。その代わりに、Webショップのログインフォームを設定して、そのコンテンツをセキュアサーバーに直接送信しようとします。正直言って、私はこれを行う方法がわかりません。私がこれまでにやったことは、私が必要とするすべてのパラメータをRequestCycleに "注入"することでした... – Zoolok

+0

...これに対して、私はRedirectRequestTargetを拡張し、要求パラメータをリクエスト自体に挿入しようとしました。また、あなたはレスポンスにクッキーを追加することしかできないことに気付きました。とにかく、ストーリーを短くするために、安全なサーバーに到達すると、パラメータはすべて失われます。誰かがこれについて何か考えているなら、また、私はそれを聞きたい:) – Zoolok

関連する問題