2013-03-24 157 views
2

有两个网站具有相同的域名,但需要不同的身份验证。 但是,当两个网站都在同一浏览器上登录后,则会注销前一个网站。我可以看到发生这种情况的原因是,当一个用户登录到一个网站时,会发出不同的表单身份验证票证来更新第一个身份验证票证。为什么这两个网站都使用相同的身份验证票证?如何防止一个网站的身份验证票更新另一个网站。登录到一个ASP.net网站注销另一个托管在同一台服务器上的网站?

我的配置文件看起来像下面

<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); 
+0

你能发布注销代码呢? – 2013-03-24 08:21:36

+0

他们是否使用同一段代码共享同一个会话?这可能是一个问题。 – 2013-03-24 09:25:56

回答

相关问题