0

我有一个 .net Web 应用程序,在大多数浏览器和机器上都可以正常工作,但只有一些具有 IE 8 的机器不会创建会话 cookie,因此不会允许用户登录。我已经尝试将浏览器设置重置为默认设置,浏览器设置中的 cookie 也允许域 - 也尝试了兼容模式。同样,这仅在某些机器上发生。我将不胜感激任何帮助。谢谢

4

4 回答 4

1

由于它只发生在某些机器上,也许您应该检查发生问题的机器中的日期/时间。也许 cookie 的过期日期受到这些配置的影响。

于 2013-11-06T13:32:46.850 回答
0

您可能会遇到浏览器施加的限制之一(最大 cookie、每个域的最大 cookie、最大 cookie 大小)。您提到您在身份验证方面特别遇到问题。

您是否使用表单身份验证?如果是这样,您是否尝试在 FormsAuthenticationTicket 的 UserData 属性中存储大量数据?这可能会导致 FormsAuthentication cookie 大小超出浏览器施加的限制。作为开发人员,您没有任何线索表明您遇到了这些限制之一,并且您的用户没有收到任何警告或错误,因此他们可以提示您。

否则,您是否通常在您的应用程序中设置大量cookie?还是大饼干?或者其他与您共享相同域的应用程序?确保不要将 cookie 与会话状态混淆,因为会话状态通常只存储 1 个 cookie 以引用存储在服务器端的状态。如果可以从机器上排除故障,请查看开发者工具,看看登录后涉及多少 cookie。

于 2014-01-23T21:51:05.140 回答
0

我遇到了同样的问题,这是因为我的 META 标签中没有设置 cookie 隐私政策。您的 HTML 标题中应该有类似的内容: <meta http-equiv="P3P" content='CP="OTI DSP COR DEVa ADMa OUR IND ONL STA"' />

请参阅此处:创建紧凑的隐私政策

于 2014-01-22T17:01:56.220 回答
0

IE8 对 cookie 非常严格。检查服务器时间和本地机器的时间。并检查代理字符串。

于 2014-01-29T12:09:19.093 回答