Chrome本地主机cookie未被设置

我有一个ASP.net应用程序使用cookie来存储用户select的语言。 除了当我在本地主机上时,一切正常。 replace127.0.0.1的本地主机再次工作…为什么?

我看到有意限制文件:/ /但我实际上找不到任何有关限制本地主机的参考。

我无法真正理解的是,为什么ASP.net会话(ASP.NET_SessionId)和ASP.net窗体身份validationCookie(.FSAUTHSSO)正确地为本地域设置,但我的cookies不是…为什么?!

我已经GOOGLE了很多,没有任何工作:

  • 设置Chrome的命令行标志–enable-file-cookies [DO NOT WORK]
  • 将cookie设置为HttpOnly [不重要]
  • 将会话更改为会话或date… [不重要]
  • 更改Cookiepath为根(/)或任何其他[不重要]

那么重要的是什么? 🙂

为什么可以设置ASP.net cookies而我的不是? 有什么不同?

最后一件事,只是提到这也发生在IE浏览器,但工作正常的FF。

谢谢!

亚历克斯

Cookiesdevise为二级和二级。 一级域名将不起作用。 相反,你应该使用地址http://127.0.0.1 (正如你所提到的),或者你可以编辑你的主机文件来映射一个不同的URL到TLD地址127.0.0.1,例如:

 yoursite.tld 127.0.0.1 

刚刚进一步研究, 发现这个答案: 本地主机上的Cookie与明确的域名

请尝试在本地主机上放置cookie.Domain = null ,否则使用域名。

好消息。 在Chrome上启动加纳利版本现在可以在本地主机上设置Cookie: https : //code.google.com/p/chromium/issues/detail?id = 551906

我刚刚在Chrome中遇到同样的问题。 我有cookie.Secure = true。 摆脱这个本地主机解决了我的问题。

(有完全相同的问题,FWIW:工作在FF,而不是IE或Chrome)

我在Chrome上遇到了一个问题,那就是未来2个星期到期的cookie没有被设置 – 这恰好是auth cookie(.AspNet.ApplicationCookie),所以我一直被redirect回login页面。 这个问题在我尝试的其他浏览器中没有发生。

我最终试验了自定义的cookie,以确定铬认为当前date比实际早 – 所以例如我把一个cookie在今天(2017年4月2日)过期1年,实际上铬设置此cookie 2017年1月1日到期! 这就解释了为什么一个2周到期的曲奇已经被认为已经过期了,因为铬是在实际到期的3个月期间掉下来的,因此认为它已经到期了。

Chrome重新启动没有解决这个问题 – 我在这个阶段重新启动电脑,这“修复”了错误。 另外我应该注意到,这只发生在localhost – 看起来其他网站都是好的。

我知道这可能是愚蠢的,但它发生在我身上,我接pipe了一个asp.net mvc应用程序,我无法让他们在本地工作。 最后,另一位开发人员指出最近添加的web.config中的条目。

 <httpCookies httpOnlyCookies="true" requireSSL="true" /> 

在本地设置requireSSL为“false”。 请记住通过环境应用转换。 我希望这有帮助。

自2011年以来 , Chromium开放时出现问题 ,如果您明确将域名设置为“localhost”,则应将其设置为false ,或将域设置为127.0.0.1