Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
登录到一个ASP.net网站会注销同一服务器上托管的另一个网站吗?_Asp.net_Forms Authentication - Fatal编程技术网

登录到一个ASP.net网站会注销同一服务器上托管的另一个网站吗?

登录到一个ASP.net网站会注销同一服务器上托管的另一个网站吗?,asp.net,forms-authentication,Asp.net,Forms Authentication,有两个网站具有相同的域,但需要不同的身份验证。 但当这两个网站都在同一个浏览器上登录时,后者会注销前者。我可以看到,这是因为当一个用户登录到一个网站时,会发出不同形式的身份验证票证,从而更新第一个用户的身份验证票证。为什么这两个网站使用相同的身份验证票证?如何防止一个网站的身份验证票证更新另一个网站 我的配置文件如下所示 <authentication mode="Forms"> <forms loginUrl="~/Login.aspx" name=".ASPXFORM

有两个网站具有相同的域,但需要不同的身份验证。 但当这两个网站都在同一个浏览器上登录时,后者会注销前者。我可以看到,这是因为当一个用户登录到一个网站时,会发出不同形式的身份验证票证,从而更新第一个用户的身份验证票证。为什么这两个网站使用相同的身份验证票证?如何防止一个网站的身份验证票证更新另一个网站

我的配置文件如下所示

<authentication mode="Forms">
  <forms  loginUrl="~/Login.aspx" name=".ASPXFORMSAUTH" defaultUrl="~/Default/Home.aspx"    protection="All" timeout="10" slidingExpiration="true" requireSSL="false"/>
 </authentication>
对于其他网站,请使用以下内容。此外,这两个网站都有不同的用户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);

如果两个站点都是子域,请在webconfig中设置cookie域,例如subdomain.domain.com,否则cookie将跨domain.com工作

更多信息


Chris

如果两个站点都是子域,请在webconfig中设置cookie域,例如subdomain.domain.com,否则cookie将跨domain.com工作

更多信息


Chris

你也可以发布注销代码吗?他们是否使用相同的代码共享相同的会话?这可能是一个问题。你能同时发布注销代码吗?他们使用相同的代码共享相同的会话吗?这可能是个问题。
   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);