2010-01-24 45 views
0

考慮這個,如果一個是Web應用程序的用戶mulltiple佔單臺計算機上的cookie

,如:

一個有人訪問SomeWebSite.com作爲普通用戶(註冊)

HttpCookie cookie = new HttpCookie("LastVisit"); 
cookie.Value = DateTime.Now.ToString(); 
cookie.Expires = DateTime.Now.AddDays(1); 
Response.Cookies.Add(cookie); 

訪問SomeWebSite.com,使用其他帳戶作爲慢化劑/管理員

HttpCookie cookie = new HttpCookie("LastVisit"); 
cookie.Value = DateTime.Now.ToString(); 
cookie.Expires = DateTime.Now.AddDays(1); 
Response.Cookies.Add(cookie); 

這兩個cookie屬於同一個域,但是對於兩個不同的帳戶。瀏覽器如何知道哪個cookie屬於哪個帳戶?如果我們使用下面的代碼來訪問它。

if (Request.Cookies["LastVisit"] != null) 
    { 
     string lastTimeUserVisited = Request.Cookies["LastVisit"].Value; 
    } 

編輯:這是我平生第一次對Cookie的工作。

我也感謝您的耐心

回答

2

我不太明白的問題。單個瀏覽會話不會區分這兩個Cookie。服務器設置的最後一個cookie取代了以前的那個。顯然,在兩臺不同計算機上運行的Chrome的兩個實例不共享cookie,並且每次在每個請求中都將它們自己的cookie實例發送到服務器。

1

瀏覽器如何知道哪個cookie 屬於哪個帳戶?

它沒有。第二次訪問的cookie將覆蓋第一個Cookie。如果你想要有所不同,你必須使用不同的cookie名稱,例如通過將用戶ID附加到cookie名稱。

1

如果用戶使用計算機上的相同用戶帳戶登錄,他們將使用相同的一組cookie。

如果他們使用單獨的用戶帳戶登錄,他們將分別擁有自己的一組用戶文件夾,從而他們自己的瀏覽器設置和他們自己的一組cookie。

相關問題