有两个具有相同域但需要不同身份验证的网站。但是当两个网站都在同一个浏览器上登录时,后者会注销前一个。我可以看到这种情况正在发生,因为当一个用户登录到一个网站时,会发出不同的表单身份验证票,这会更新第一个身份验证票。为什么两个网站都使用相同的身份验证票?如何防止一个网站的身份验证票更新另一个网站。
我的配置文件如下所示
<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" name=".ASPXFORMSAUTH" defaultUrl="~/Default/Home.aspx" protection="All" timeout="10" slidingExpiration="true" requireSSL="false"/>
</authentication>
以下用于签发一个网站的身份验证票
FormsAuthentication.SetAuthCookie(userid,true);
对于另一个网站,以下使用。此外,这两个网站都有不同的用户 ID
var ticket = new FormsAuthenticationTicket(1,userid, DateTime.Now,
DateTime.Now.AddMinutes(90), false,string.Empty, FormsAuthentication.FormsCookiePath);
string cookieStr = FormsAuthentication.Encrypt(ticket);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, cookieStr);
Response.Cookies.Add(cookie);