我有一个asp.net网站http://www.site.com
。此网络应用也在http://subdomain1.site.com
和http://subdomain2.site.com
上运行。现在,我想以http://site.com
和http://www.site.com
共享身份验证Cookie的方式设置身份验证Cookie,但不应由http://subdomain1.site.com
共享。同样,http://www.domain1.site.com
和http://domain1.site.com
应共享Cookie,但不应由http://domain2.site.com
或http://www.domain2.site.com
共享。我如何使用asp.net处理这个问题?
答案 0 :(得分:1)
默认情况下,Cookie与特定域相关联。例如,如果您的站点是www.contoso.com,则当用户请求来自该站点的任何页面时,您编写的cookie将被发送到服务器。 (这可能不包括具有特定路径值的cookie。)如果您的站点具有子域(例如contoso.com,sales.contoso.com和support.contoso.com),则可以将cookie与特定子域相关联。 / p>
Response.Cookies["domain"].Domain = "support.contoso.com";
通常,所有子域都将访问contoso.com上设置的cookie。但是如果你想限制cookie的子域,你应该为你想要访问的每个域手动设置域属性。
问候。
答案 1 :(得分:0)
我最终在this article
中描述了在不同域上使用不同的Cookie名称