同じドメインの2つのWebサイトがありますが、異なる認証が必要です。ただし、2つのWebサイトの両方が同じブラウザにログインしている場合、後者は前者のWebサイトからログアウトします。これは、1人のユーザーが1つのWebサイトにログインすると、最初の認証チケットを更新するさまざまなフォームの認証チケットが発行されるために発生していることがわかります。両方のWebサイトが同じ認証チケットを使用しているのはなぜですか?一方のWebサイトの認証チケットがもう一方のWebサイトを更新しないようにする方法。
私の設定ファイルは以下のようになります
<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" name=".ASPXFORMSAUTH" defaultUrl="~/Default/Home.aspx" protection="All" timeout="10" slidingExpiration="true" requireSSL="false"/>
</authentication>
以下は、1つのWebサイトの認証チケットを発行するために使用されます
FormsAuthentication.SetAuthCookie(userid,true);
別のウェブサイトについては、以下が使用されます。また、両方のWebサイトには異なるユーザー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);