无法让 IIS7 向 IE 发送 cookie

Kal*_*exx 5 iis-7 internet-explorer asp.net cookies cookieless

我创建了一个使用基本 asp.net 身份验证的 Web 应用程序。身份验证系统在代码方面运行良好,但是我无法让 IIS7 将 cookie 发送到 IE Web 浏览器。

当我在 Chrome 或 Firefox 中浏览我的网站时,一切正常,我可以在标题中看到 cookie。但是,当我尝试在 IE 下登录时,登录成功但没有在 HTTP 标头中发送 cookie。

我不知道如何进一步调试这个问题。IE 设置为接受所有 cookie,但 IIS 似乎并未向浏览器提供任何 cookie。如果我在网络服务器上并且我浏览到http://localhost/一切正常,但是如果我使用网络服务器的 dns 名称,我也不会得到 cookie。

如果我将应用程序的 web.config 配置为在 IIS 检测到它无法使用 cookie 时使用基于 URL 的身份验证,IIS 会以某种方式看到它无法获取 cookie,然后使用基于 URL 的身份验证。

目前对我来说似乎是 IIS 问题,因为我在 IE 中完全启用了 cookie,但它仍然无法正常工作。此外,即使外部用户使用我的 dns 名称,相同的 Web 应用程序也可以在 IE 中的本地 IIS 服务器上运行,cookie 运行良好。然而,我不知道从这里去哪里。

任何帮助将不胜感激。

Kal*_*exx 3

终于找到答案了。事实证明,如果域名中有下划线,Internet Explorer 就会告诉 Web 服务器永远不要发送 cookie。删除计算机名称中的下划线解决了该问题。