2010-01-24 58 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。

相关问题