2010-04-23 69 views
0

我正在使用一個asp.net 2.0站點(稱爲站點1),該站點中有一個iframe,它加載了另一個站點(站點2),它也是一個asp .net網站,由我們的團隊開發。當您登錄到站點1時,站點2後面的站點也會登錄,這樣當您單擊iframe選項卡時,將顯示站點2,並且用戶已登錄(以防止用戶必須登錄兩次)。Asp.Net 2綜合站點如何以編程方式註銷第二個站點

我遇到的問題是,當用戶註銷站點1,然後我們調用一些清理方法來執行FormsAuthentication.SignOut和清理會話變量等,但此刻當站點2上的用戶沒有調用清理。所以問題是如果用戶在瀏覽器中打開站點2,則打開站點2,用戶仍然登錄,這是不希望的。任何人都可以給我一些關於這個最好的方法的指導?一個可能的方法,我雖然只是點擊登出按鈕,我可以打電話給網站2上的自定義頁面,它會做註銷。下面

HttpWebRequest request; 
    request = ((HttpWebRequest)(WebRequest.Create("www.mywebsite.com/Site2Logout.aspx"))); 
    request.Method = "POST"; 
HttpCookie cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName]; 
Cookie authenticationCookie = new Cookie(
FormsAuthentication.FormsCookieName, 
          cookie.Value, 
       cookie.Path, 
       HttpContext.Current.Request.Url.Authority); 
request .CookieContainer = new CookieContainer(); 
request .CookieContainer.Add(authenticationCookie); 
response.GetResponse(); 

問題我這段代碼有代碼是,當我在網站2運行和調試,並檢查用戶是否已驗證他們不是我不明白,因爲如果我打開瀏覽器,瀏覽到站點2我仍然通過身份驗證。任何想法,採取不同的方向等?請讓我知道,如果你需要任何更多的信息,或者如果我說我的東西劑量是有道理的。

謝謝

回答

1

如何使用同一個cookie的雙方?如果您的網站登錄到同一個成員資格數據庫,則以下鏈接提供了一個簡單的解決方案,無需登錄和清除同步代碼。

只是snyc窗體身份驗證(同一個域中,相同的名稱),並使用相同的(固定)的machineKey。

相關問題