2010-01-02 11 views
0

如果我輸入http://example.com並登錄到我的網站並關閉我的瀏覽器,重新打開它並重新鍵入http://example.com然後我登錄。ASP .NET創建其他會話時切換到http://example.com或http://www.example.com

然而,當我鍵入http://example.com,登錄,關閉瀏覽器,重新打開它,類型http://www.example.com那麼我沒有登錄。

我不使用ASP .NET認證類。
我在IIS中運行IIS 6,同時將example.comwww.example.com URL添加到「此Web站點的多個身份標識」中。

我不希望當前的行爲。是否還有其他因爲這種行爲而受到影響的事情?

回答

1

請確保您的域控制面板指的是相同的IP地址和代碼。 我有同樣的問題,發現IP地址是不同的。

+0

名稱\t類型\t數據, \t一個\t 89.38.215.221, CP \t一個\t 89.38.214.101, FTP \t一個\t 89.38.214.141, 郵件\t一個\t 89.38.209.22, WWW \t一個\t 89.38 .215.221, MX \t [10],mail.cupacupelor.ro, NS \t ns1.livehosting.info, NS \t ns2.livehosting.info, TXT \t V = SPF1一個MX -all 我有這些 – 2010-01-02 19:19:15

0

問題在於,由於cookie specification中的怪癖,您無法在example.com和www.example.com之間共享cookie。

相反,你應該做的是選擇一個域作爲你的主域。然後,檢測對其他域的引用,並將用戶從那裏重定向到主域。例如,您可以選擇www.example.com作爲首選,並將對example.com的引用重定向回www.example.com。

這樣,如果用戶嘗試從一個域切換到另一個域,認證cookie將出現。

+0

公共靜態無效AddForFirstTime(字符串暱稱,字符串GUID) { 的HttpCookie餅乾=新的HttpCookie(LoginCookie.CookieName); cookie.Values [「暱稱」] =暱稱; cookie.Values [「guid」] = guid; cookie.Values [「action」] =「登錄」; cookie.Expires = DateTime.MaxValue; HttpContext.Current.Response.Cookies.Add(cookie); } 這就是我用cookies做的所有事情 – 2010-01-03 12:12:52

+0

回答更新... – RickNZ 2010-01-03 21:27:16