2

別のサーバー上の Web アプリケーション間でセッション状態を共有することは可能ですか? Web サイトの 1 つはセッション状態を使用してユーザー資格情報/情報セッション状態を維持しており、もう 1 つはフォーム認証を使用してこの情報を維持しています。セッション ストレージを使用する Web サイトに変更を加えることなく、フォーム認証を使用する Web サイトが他のサーバーのセッション状態を読み取り/アクセスすることは可能ですか? そうでない場合、それが答えだと思いますが、同じサーバー上で実行されていれば可能でしょうか? (つまり、同じアプリ プール)?

注: 両方のアプリケーションは同じドメイン名の下にあります (そのうちの 1 つがサブドメインになります)。

注として、これが求められている理由は、クライアントが 2 つの Web サイト間の「シングル サインオン」アプローチを要求しているためです。フォーム認証を使用しており、他のサイト (現時点では変更できません) はセッションで資格情報/ログオン情報を維持しています

ASP.NET 4 IIS 7.5

4

1 に答える 1

0

後者を想定すると、次のようなことを試すことができます。

まず、すべてのアプリケーションが同じドメインで実行されていることを確認してください。そうでない場合、すべての賭けは無効になります。セッション Cookie のドメイン プロパティを設定する簡単な方法がまだあるかどうかはわかりません。そのため、Cookie ドメイン プロパティをドメインに設定して、自分で行う必要があるかもしれません。

Response.Cookies["ASP.NET_SessionId"].Domain = ".mydomain.com";

各アプリケーションが共通の状態サーバーまたは db-backed セッションのいずれかを使用するように構成されていることを確認する必要があります。

リンクをたどってください:サブドメイン間でセッション状態を共有する方法

于 2014-08-21T11:25:22.530 に答える