1 つの IIS Web サイト/アプリケーション プールで多数のドメインを実行しています。現在、Windows Identity Foundation で SSO を実装しています。
web.config では、レルムを設定する必要があります
<wsFederation passiveRedirectEnabled="true" issuer="http://issuer.com" realm="http://realm.com" requireHttps="false" />
私の問題は、ユーザーがWebサイトにアクセスしたドメインにレルムが依存しているため、このようにグローバルアクションフィルターに設定したことです
var module = context.HttpContext.ApplicationInstance.Modules["WSFederationAuthenticationModule"] as WSFederationAuthenticationModule;
module.Realm = "http://" + siteInfo.DomainName;
私の質問はです。このようにレルムを設定すると、ユーザー インスタンスまたはアプリケーション インスタンスごとに設定されます。
シナリオ。
ユーザー A がページを読み込み、レルムが domain.a.com に設定されます。
ユーザー B は既に domain.b.com にログインしており、ログインを押します。
ユーザー B がログインを押す前にユーザー A がページをロードしたため、ユーザー A は間違ったレルム セットで STS にヒットします。
ここで何が起こりますか?
これがユーザー インスタンスごとにレルムを設定する方法でない場合、別の方法はありますか?