我们有很多域在一个 IIS 网站/应用程序池上运行。现在,我们正在使用 Windows Identity Foundation 实施 SSO。
在 web.config 中,必须设置领域
<wsFederation passiveRedirectEnabled="true" issuer="http://issuer.com" realm="http://realm.com" requireHttps="false" />
我的问题是领域取决于用户访问网站的域,所以我所做的就是将它设置在这样的全局操作过滤器中
var module = context.HttpContext.ApplicationInstance.Modules["WSFederationAuthenticationModule"] as WSFederationAuthenticationModule;
module.Realm = "http://" + siteInfo.DomainName;
我的问题是。当我像这样设置领域时,它是按用户实例还是应用程序实例设置的。
设想。
用户 A 加载页面并且领域设置为 domain.a.com。
用户 B 已经在 domain.b.com 上登录并按下登录。
由于用户 A 在用户 B 按下登录之前加载了该页面,因此用户 A 将使用错误的领域设置访问 STS。
这里会发生什么?
如果这不是为每个用户实例设置领域的方法,还有其他方法吗?