2013-03-24 130 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

回答

相關問題