我想ntlm自动validation,但loginpopupuppears

我build立了一个php intranet web应用程序,允许用户显示存储在Active Directory中的信息。

我想使用他在login到窗口时input的Windows凭据在Active Directory上自动validation用户,但是当我访问应用程序时出现loginpopup窗口。

我其实更喜欢自动authentication用户,但这个popup窗口不是一个大问题。 当用户input错误的凭证时会发生问题。 它允许他访问应用程序!

我如何自动authentication用户? 或者如何防止用户在提供错误凭证时访问应用程序?

注意:

我正在使用本文中描述的NTLM身份validation: http : //siphon9.net/loune/2007/10/simple-lightweight-ntlm-in-php/

我正在使用Windows 7我正在使用Apatch 2.2,php5和iis7

您正在使用的服务器首先要求“基本”或“摘要”身份validation。 这就是浏览器提示他们input凭据的原因。 如果这个机制成功,那么就不会有其他的尝试。 如果该机制失败(浏览器不支持它,或者用户input错误的凭据 ),那么服务器将尝试其他机制(如NTLM,Kerberos,无论它支持什么)。

目前还不清楚你正在使用哪个服务器(Apache和IIS都提到),但是你想改变机制顺序,以便首先尝试NTLM或Kerberos(又名协商),然后是Digest。 除非您有保护站点的SSL,否则我不会启用Basic。

从post中的代码看来,您的应用程序本身可能正在处理身份validation,只能使用networking服务器作为通道。 如果是这种情况,authentication机制的顺序将在您的代码中指定,而不是服务器本身。

一个侧面说明:我和其他大多数系统pipe理员讨厌你,如果你的代码是处理身份validation本身。 Web服务器在处理这个问题方面做得很好,没有任何理由为每一个web应用程序重新发明轮子(还有一个很大的机会,你会得到错误的东西;不会随着时间的推移维护你的代码;这个列表继续下去) 。 我已经处理了足够的这些应用程序,在这个问题上我的感受非常强