【问题标题】:ASPXAUTH cookie is not being savedASPXAUTH cookie 未保存
【发布时间】:2010-12-26 09:56:26
【问题描述】:

我正在使用 ASP .NET MVC 2 开发一个 Web 项目。

在这个项目中,我们将一些信息存储在一个加密的 cookie(ASPXAUTH cookie)中,以避免每次请求都查询数据库。

问题是这部分的代码突然停止工作了。

我查看了对源代码控制服务器上的代码所做的更改,是否有任何可能导致它的原因,但我一无所获。我什至恢复到一个已知的工作副本(在其他人的 PC 上工作,相同的代码等),但在调试之后,似乎 .ASPXAUTH cookie 不再被保存。相反,正在设置 ASP.NET_SessionId cookie...(以前没有)

我更改了 web.config 文件以关闭 sessionState。这消除了设置 ASP.NET_SessionId cookie,但它仍然没有保存身份验证 cookie。

我最近安装了一些 Microsoft Windows XP 更新,但其他人(他的 PC 运行该应用程序很好)也安装了。

在谷歌搜索后,我发现一些信息指出了 cookie 的到期日期存在问题。 Ether cus pc 没有正确的时间/日期(情况并非如此)和其他 cus 的 cookie 到期日期设置错误。 (我检查并正确设置)...

除了我使用 IE6 尝试过的(Chrome)之外,其他浏览器仍然存在此问题。

关于为什么会发生这种情况的任何想法?

我会继续发布我能找到的任何有用的信息。

提前致谢。

【问题讨论】:

    标签: asp.net asp.net-mvc cookies forms-authentication


    【解决方案1】:

    这可能是您的 cookie 变得太大了。我遇到了同样的问题。 如果你的 cookie 变得太大,它就不会起作用,当然取决于浏览器

    MSDN

    cookie 通常被限制为 4096 字节,每个站点不能存储超过 20 个 cookie。通过使用带有子键的单个 cookie,您使用的站点分配的这 20 个 cookie 中的更少。此外,单个 cookie 占用大约 50 个字符作为开销(过期信息等),加上您存储在其中的值的长度,所有这些都计入 4096 字节的限制。如果您存储五个子键而不是五个单独的 cookie,则可以节省单独 cookie 的开销,并且可以节省大约 200 个字节。

    What is the maximum size of a web browser's cookie's key?

    what happens when cookies file exceeds maximum size?

    【讨论】:

    • 您成功了,这绝对是尺寸问题。非常感谢。 :]
    【解决方案2】:

    检查 cookie 大小的一种简单方法是调试并运行以下代码

    int cookieSize = System.Text.UTF8Encoding.UTF8.GetByteCount(faCookie.Values.ToString());
    

    如果超出限制,那么您将遇到问题。

    【讨论】:

      【解决方案3】:

      在我的工作项目中,我注意到在一定量的头撞到墙上之后,cookie 是使用

      设置的
      FormsAuthentication.SetAuthCookie(user.token, false);
      

      相比之下,在我不工作的项目中,cookie 是手动设置的:

      var coockie = FormsAuthentication.GetAuthCookie(user.token, false);
      coockie.Expires = DateTime.Now.AddDays(7);
      
      Response.Cookies.Add(coockie);
      

      在托管服务提供商进行了一些更改后,我的一个共享主机发生了这种情况,我无法通过支持部门了解或发现。本地主机或其他共享主机或 vps 与第一个 approuch 工作得很好

      【讨论】:

        猜你喜欢
        • 2013-05-01
        • 2020-05-17
        • 2018-10-24
        • 1970-01-01
        • 2010-09-30
        • 2018-12-08
        • 2015-04-08
        • 2012-04-29
        • 2012-06-03
        相关资源
        最近更新 更多