尝试在asp.net中的2个域中共享cookie,由于某种原因,1个域名有'。'在域之前,而另一个没有。
为什么?
e.g:
.staging.example.com
和
staging.example.com
这与我如何创建cookie或web.config更改有关吗?
我没有使用表单身份验证,只是手动创建cookie。
UPD
我将cookie域设置为:
HttpCookie c = new HttpCookie("blah");
c.Value = "123";
c.Expires = DateTime.Now.AddHours(12);
c.Domain = ".staging.example.com";
Response.Cookies.Add(c);
由于某种原因没有得到'。'在饼干里。
可能是什么问题?
答案 0 :(得分:2)
如果你设置了。在域名之前,例如
.staging.example.com
这意味着任何位于该域名下的域名都可以访问该cookie。例如。 test01.staging.example.com
可以访问该cookie中的任何内容,就好像它自己创建了它一样。没有点,它仅限于命名的特定域。
答案 1 :(得分:1)
.staging.example.com
的Cookie对于该域的每个子域也是可读的,例如: www.staging.example.com
,另一个不是。
答案 2 :(得分:1)
要在staging.example.com
的所有子域上提供Cookie,您需要将其设置为.staging.example.com