在我的ASP.NET WebForms应用程序中,我使用的是连接到我的数据库(与标准成员资格提供程序)中的简单表单身份验证。一切正常,我可以登入,登出,获得角色等…
但是,在将我的站点部署到Intranet IIS服务器之后,我注意到IE无法进行身份验证。登录的实际身份验证过程可以工作(正如它告诉您密码/用户名错误时所做的那样),但在身份验证完成后,它会声明您没有登录。
这只在本地部署的IIS环境中有效,而在我的VS环境中,一切在IE中都可以正常工作。而在部署的IIS Chrome和Firefox中,一切都可以正常工作。
我唯一能说的是,似乎IE没有获取或保存身份验证cookie。这与IE设置无关,因为我的IE8设置为接受所有cookie,我在同事的IE8机器和另一台具有相同结果的IE7上进行了测试。
我的web.config正在使用以下设置:
<authentication mode="Forms" >
<forms cookieless="UseCookies" />
</authentication>
是否至少有人知道我从哪里开始调试这个问题?
谢谢,
编辑
:由于我的Web服务器不能很好地使用URL身份验证,我现在被迫解决这个问题。
我使用了fiddler,发现iis7在IE中不会向我发送任何cookies。头中没有cookies。但是,当将站点提供给Mozilla和Chrome浏览器时,cookie在头文件中是正确的。我不知道为什么……
编辑2
:作为旁注,当我直接登录到Web服务器时,如果我转到
Http://localhost/
我会把饼干送去的,但是如果我去的话
http://qa_build/
(这是服务器的计算机名)IIS不会将cookie发送到IE。