C#/ASP.NET : can't remove cookies with Domain property specified

标签 c# cookies subdomain

我的登录方法中有以下代码:

Response.Cookies["cookie"].Value = "...";
Response.Cookies["cookie"].Domain = "domain.com";

这样cookie就放到了主域和所有子域

但是,当我尝试删除 cookie 时:

Response.Cookies["cookie"].Expires = DateTime.Now.AddYears(-1);

这是行不通的!

当我删除指定域属性的第 2 行代码时,它工作正常。

我该如何解决这个问题?

谢谢

最佳答案

好吧,我明白了。

当您删除设置了域属性的 cookie 时,您需要为新的假 cookie 设置完全相同的属性:

if (Request.Cookies["cookie"] != null)
{
    HttpCookie myCookie = new HttpCookie("cookie");
    myCookie.Expires = DateTime.Now.AddDays(-1d);
    myCookie.Domain = "domain.com"; // !!!!
    Response.Cookies.Add(myCookie);
}

关于C#/ASP.NET : can't remove cookies with Domain property specified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6993791/

相关文章:

authentication - 我正在尝试通过在应用程序(登录和网页)之间共享 cookie 在 .net core 3.1 中实现 SSO

javascript - 在 Liferay 中添加非 http only cookie

php - 基于用户的子域

java - Tomcat 8.5.9 多个子域

c# - 如何使用简单注入(inject)器在 ASP.NET HttpModule 中正确注入(inject)构造函数/属性

c# - C# 应该添加部分构造函数吗?

http - 如何全局设置 cookiejar 以便 cookie 出现在每个 http.Client 请求中

c# - 需要 BackgroundWorker 帮助

c# - 加载后如何使用 POCO 和 DbContext 初始化 Entity Framework 中的对象?

azure - 将 Azure AD 中已使用域的子域用于 Azure AD B2C 租户