2009-05-07 14 views
0

標準のWARであるJava Enterprise Edition Webアプリケーションがあります。私はこれを、IISを実行する既存の.NETインフラストラクチャと統合したいと考えています。具体的には、2つのアプリケーション間でユーザーセッションを安全な方法で共有できる必要があります。Java EEと.NETとの統合

これを行う「標準的な」方法はありますか?

編集:完全なセッション共有は必要ありません。申し訳ありませんが、それを指摘していません。私ができる必要があるのは、Java EEアプリケーションに接続するときに、.NETアプリケーションでユーザーが認証されているかどうかを確認することです。

+0

ユーザーが自分のJ2EE Webセッション(またはその一部のみ)にあるすべてのデータを共有する必要がありますか、またはそれらを1回だけ使用して両方のアプリケーションにアクセスできるようにしたいですか? –

+0

Sooy、too typoo上記のコメントを無視してください:) ユーザーがJ2EE Webセッション(またはデータのほんの一部)で持っているすべてのデータを.NETアプリケーションと共有する必要がありますか。ユーザーに一度だけログインしてから、J2EEと.NETの両方のアプリケーションにアクセスできるようにしたいですか? –

+0

私は認証が必要です - 私の質問の編集を見てください。それを指摘して申し訳ありません! –

答えて

0

非常に疑わしい。

セッション状態をデータベースなどの第3のコンポーネントに保存する必要があります。私はどちらのインフラストラクチャのビルトインプロバイダも(スキーマなどの)類似しているとは思っていません。自分で作成する必要があります。

これは楽しいことではないようです。

+0

あなたがシングルサインオンに興味があることを明確にしたので、私の答えはおそらくはもはや適用されません。 –

+0

削除または変更しますか? – IAdapter

1

ユーザーが認証されているかどうかを返すために.NET Webサービスを作成します(もちろんWCFを使用します)。その後、そのWebサービスをJava EEアプリケーションから呼び出します。

+0

ユーザーが資格情報を書き込まなくてもこれを行う方法はありますか?私は何らかの形のCookieを盗み出すことを考えていましたが、私が間違っていなければ、ポートとドメインに同じ発信元ポリシーが適用されます。 –

+0

これに答えるのに十分なJ2EEについてはわかりません。 .NETのセッションIDをJavaに伝えなければならないと思うので、Webサービス呼び出しで.NETセッションIDを提供できるはずです。 –

0

同じサーバーで実行する場合、Tomcatに付属のisapi_redirect.dllのようなisapiリダイレクトフィルターが必要です。

0

このオープンソースライブラリhttp://spnego.sourceforge.netは、Javaアプリケーションが透過/統合Windows認証を行うことを可能にします。

サーブレットフィルタとしてインストールされているため、コードを書く必要はありません。