2012-09-06 130 views
1

我有www.mysite.com和幾個子域名登錄cookie,如:IE共享登錄cookie - 不需要

  • www.one.mysite.com
  • www.two .mysite.com
  • www.three.mysite.com

在IE只(Firefox沒有做到這一點),如果我在mysite.com登錄,它看起來好像這個Cookie在所有子域共享(登錄到所有網站)。如果我使用子域名(one.mysite.com)登錄,則Cookie不共享(僅記錄到one.mysite.com)。

www.mysite.com和www.one.mysite.com共享相同的web.config文件,我不介意他們共享一個登錄cookie(它是與不同的網址是同一個網站都是),但沒有跨越其他的網站。

如何阻止IE將cookie分享給所有或部分子域?

我可以使用web.config文件來做到這一點嗎?


更新:

我使用會員和角色管理器在我的web.config文件。在上面的問題,我也沒有設置

<authentication mode="Forms"> <forms domain="... 

據我所看到的,

<authentication mode="Forms"> <forms domain="mysite.com" ... 

可以允許只有一個域(www.mysite.com),或所有子域(.mysite。 COM)。我需要一種方法來允許www.mysite.com和一個子域名。這可能嗎?

我可以告訴其他子域名不接受.mysite.com cookie嗎?

+0

我的直覺說,也許你檢查/測試錯誤。嘗試在Firefox/IE中刪除Cookie,然後重試。但也是什麼版本的IE?6,7,8是完全不同的(或者我聽到) – 2012-09-06 02:27:39

+0

在IE 8和9中都有相同的問題進行測試。以幾種方式測試幾次,問題仍然如上所述持續存在。 – user1314350

回答

3

通常,在example.com上設置的cookie將被所有子域訪問。但是,如果您想將Cookie限制爲特定的子域,則應手動設置您希望其訪問的每個域的域屬性。

Response.Cookies["domain"].Domain = "www.example.com"; 

Some valuable reading,或者More valuable reading...(讀:「限制Cookie域範圍」部分),最後「How to limit cookie for a particular subdomain in ASP.NET

+0

我正在使用ASP.NET角色管理和成員身份進行登錄,如果在我的web.config文件中設置了所有cookie,我如何訪問cookie? – user1314350

+0

你有沒有試過web.config設置? ' ' –

+0

可以涵蓋mysite.com和one.mysite.com嗎? – user1314350

0

答案是,我真的不知道是怎麼回事的登錄程序。

與我合作的另一個人正在解決問題。顯然它與機器密鑰有關,除了主要網站(www.mysite.com)之外,所有其他子域網站(two.mysite.com,three.mysite.com)都需要對其進行更改。

這不是一個答案,但是如果你像我一樣愚蠢(不太瞭解ASP.Net登錄),並且必須處理IE8 /兼容性視圖和這個登錄問題......那麼希望它將幫助不知道在哪裏尋找答案的人。