2011-01-21 32 views
1

我們最近更新了從經典ASP到ASP.Net 3.5的網站。ASP.NET會員用戶登錄錯誤Cookie問題

舊網站使用基於cookie的登錄系統。 如果在第一次登錄時選擇了複選框,它會記住用戶的登錄信息。這當然可以在cookie中完成。

然後,我們使用ASP.net升級了該網站。 我們將舊用戶轉移到內置的ASP.net成員身份驗證中。

除了一個非常奇怪的事件,它工作得很好。 當用戶登錄到站點,但存儲登錄信息的站點有舊的Cookie時,ASP.net身份驗證似乎崩潰。

沒有錯誤信息,沒有任何信息。

用戶嘗試登錄,獲取任何錯誤消息,剛剛也返回到登錄頁面。

這似乎是在看舊Cookie,只是不知道該怎麼辦。

舊網站和新網站的域名相同。

這並不適用於新用戶誰沒有到過舊的網站出現。

如果舊網站用戶清除了他在他的瀏覽器的cookies,他可以登錄罰款和錯誤不會再發生。

但我們有5000個用戶,我們不能告訴他們全部清除其cookie。

我試圖改變在下面的代碼行設置在我的web.config。

<authentication mode="Forms"> 
    <forms cookieless="UseCookies" loginUrl="~\User\Login.aspx" defaultUrl="~\Default.aspx" timeout="26280000" /> 
</authentication> 

但我不確定它是否有幫助。

任何援助將不勝感激。

謝謝

回答

2

使用表單身份驗證,您的登錄由表單身份驗證Cookie控制。所以我不明白你的舊cookie如何幹擾FAC?

如果你是在自定義的cookie存儲一些值,一個辦法是在新的代碼更改cookie的名稱。即如果代碼正在創建「CookieA」,與舊應用程序的名稱相同,則在讀取時將其更改爲「CookieB」並且相同。

+0

試了一下,這是行不通的。這只是沒有意義,我知道舊的cookie不應該干擾新的cookie,但讓老用戶登錄的唯一方法是先清除cookie。會不會有其他事情呢? – matwonk 2011-01-25 14:59:19

0

指定cookie標記名稱:

<forms name=".ASPXFORMSAUTH" ... />