奇怪的IIS与Windows身份validation+ IE问题

我有一个网站在IIS上运行,并使用Windows身份validation。 所有configuration为访问该站点的用户都是AD域(不是本地用户)。 在网站的属性中,我已经设置使用AD域作为领域。

现在,当使用Firefox,Safari或Chrome – 一切都很好。 当用户试图打开该网站时,他得到了login框。 他只是input“用户名”和“密码”(让我们假装它是一个实际的login名和密码:P),他进入了网站。

当使用IE浏览器,但是,事情变得讨厌。 当用户试图打开网站 – 他得到的login框。 用户再次input“用户名”和“密码”,但被拒绝! 而当第二次login框popup – 它的用户名填写为“web-server-domain-name \ username”这是错误的,因为web服务器域名不是所有用户所在的域(它是“广告域”)。 我花了好几天的时间想弄清楚发生了什么…请注意,如果我手动input“ad-domain \ username” – 我可以毫无问题地进入网站。 所以,我的猜测是IE发送错误的用户名,如果没有指定域。

无论如何,IE是触发这种行为的唯一浏览器!

是否有可能做一个服务器端修复? 也许有可能以某种方式将用户自动映射到AD用户?

如果它不是可解决的服务器端 – 是否有客户端修复?

谢谢。

PS:我更像是一个程序员,而不是系统pipe理员,所以configuration服务器并不是我的强项…… P

更新

@Evan:是的,还启用了“Windows域服务器的摘要式身份validation”。

@Eric:IIS版本是6.0。 启用的身份validation方法为:集成和摘要 – 禁用所有其他方法。 至于安全日志。 我查看了一下,当在Chrome / Firefox中进行“用户名”和“密码”login时,以及从IE浏览器进行“ad-domain \ username”和“password”login时,生成的日志消息是一样的(我没有区别,无论如何)。 当input“用户名”和“密码”,我没有看到安全(或任何其他)日志中的任何错误,所以不能告诉它试图使用什么方法。

更新2

正如埃里克在评论中提到的 – 我和小提琴手一起玩耍…在玩这个游戏时,我注意到,当在FF和IE中input“用户名”和“密码” – 发送的“授权”通过IE发送的时间比FF发送的时间要长(几乎是两倍)。

我试图禁用Windows集成身份validation,只保留摘要启用 – 解决了这个问题(这意味着,IE浏览器使用正确的领域就像其他浏览器),但这导致bazillion其他问题与我的网站,因为在Digest – 用户模拟服务器不起作用(这导致问题,当连接到数据库等)。

有任何想法吗?

如果Windows服务器(运行IIS 6.0)和Windows客户端(使用IE访问您的网站)都是本地networking(LAN)的一部分,则会发生这种情况。

同样重要的是,您需要启用“集成Windows身份validation”,因为您需要使用和validationAD域中的用户。

我们来调用这个AD域的名称ad_domain_name

在这种情况下(LAN +集成身份validation),Windows客户端和服务器之间的身份validation过程使用AD域安全devise。

你可以检查是否是这种情况(在Windows客户端上):

  1. closures所有的IE窗口
  2. 打开IE
  3. 访问您的网站并获取login框
  4. 进入“用户名”字段写: ad_domain_name\username
  5. 进入“密码”文件写入该用户的密码

这个程序应该允许第一次尝试login。

我已经多次观察到这种情况,通常所有这一切都被微软视为本地networking中“所需的安全特性”。 通常被认为是一个非问题,因为login过程可以做任何事情。

我不知道是否有一个IIS(和/或Windows服务器)configuration,可以避免所有这些混乱,但我很好奇,因为你知道。

我通常通过确保站点落入IE中的Intranet区域来解决这个问题。