首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET会话Cookies指定基域

ASP.NET会话Cookies指定基域
EN

Stack Overflow用户
提问于 2010-02-24 22:06:56
回答 3查看 18.1K关注 0票数 20

默认情况下,ASP.NET会将其cookie设置为使用"mydomain.com“作为它们的基础。我更喜欢他们使用"www.mydomain.com“代替,这样我就可以有其他的"sub.mydomain.com”子域是无cookie的。

我已经深入研究了Session和cookie对象,虽然我可以找到如何为单个Cookie设置域,但我看不到一种为所有会话cookie设置域的方法。

有谁有主意吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-24 22:43:35

创建一个ISessionIDManager,因为您只想更改Cookie域,所以我们将让默认的域完成所有工作。

这是在web.config中<system.web>下的sessionState元素上配置的。

代码语言:javascript
复制
<sessionState sessionIDManagerType="MySessionIDManager" />

以及实现方法。

代码语言:javascript
复制
public class MySessionIDManager: SessionIDManager, ISessionIDManager
{   
    void ISessionIDManager.SaveSessionID( HttpContext context, string id, out bool redirected, out bool cookieAdded )
    {
        base.SaveSessionID( context, id, out redirected, out cookieAdded );

        if (cookieAdded) {
            var name = "ASP.NET_SessionId";
            var cookie = context.Response.Cookies[ name ];
            cookie.Domain = "example.com";
        }
    }
}
票数 26
EN

Stack Overflow用户

发布于 2010-09-23 08:34:01

我知道这是一个老问题,但是您可以使用httpCookies配置节的domain属性而不是在代码中执行此操作吗?

代码语言:javascript
复制
<httpCookies domain="String" 
             httpOnlyCookies="true|false" 
             requireSSL="true|false" />
票数 13
EN

Stack Overflow用户

发布于 2010-02-24 22:10:04

会话只使用一个cookie,那么为什么不只为ASP.NET_SessionId cookie设置域呢?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2326521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档