我遇到的问题访问Exchange WebDav / OWA从任何机器,但IIS和Exchange服务器。
我们有一个运行Windows 2003的小型开发域。一台服务器(我们称之为IIS_box)运行IIS和Exchange 2003. IIS_Box在/Exchange/
虚拟目录上安装了Outlook Web Access,权限拒绝匿名用户,启用身份validation和集成Windows身份validation。
在IIS_Box上,访问http://IIS_Box.ourDomain.net/Exchange/向用户提供OWA应用程序,而不提示input用户名/密码。 但是,转到http:// IIS_Box / Exchange /用户将显示一个用户名/密码对话框。
如果用户没有input用户名和密码,他们会收到401.2 Unauthorized: Access denied due to server configuration
错误401.2 Unauthorized: Access denied due to server configuration
。 如果用户尝试input用户名和密码,他们会得到一个401.1 Unauthorized: Access is denied due to invalid credentials
。
在任何其他机器上,用户都会看到用户名/密码对话框,无论他们使用FQDN还是只使用裸露的服务器名称,都会收到401错误。
任何人有任何想法是什么问题,以及我们如何解决?
编辑:
继Jeff从下面的回答后 ,客户正在使用IE7。
在IIS_Box上,将非FQDN URL添加到IIS_Box上的“Intranet”区域可以使其工作。 太棒了!
但是,将普通URL和FQDN URL添加到其他计算机上的“Intranet”区域不会。 这些URL现在显示为“本地Intranet”,但我仍然收到基本身份validation提示和401错误。
如果我进入客户端IE设置,在高级…安全下,如果我禁用 “启用集成Windows身份validation”,它一切正常(如果它在Intranet区域)。 我不必closuresIIS_Box上的这个设置!
但是,它只能在IE中正常工作,而不是在使用WebDAV接口的代码中 – 我试过在Visual Studio中运行/debugging,并且作为编译/独立的可执行文件。 Arrghh!
编辑2:
经过 一番 挖掘 ,看起来“启用集成Windows身份validation”实际上可以在Kerberos和NTLM(至less在IE7中)之间进行忽略。
在禁用的情况下,使用NTLM。
在启用Kerberos或NTLM的情况下, 如果不支持Kerberos,则使用NTLM。 如果支持但失败 , 则不使用NTLM。
因此,我想看看我们是否有潜在的Kerberos问题…
什么网页浏览器? 我知道在IE浏览器,关于什么是“内联网”的规则,因此允许将NTLM身份validation发送到networking服务器是相当拜占庭式的。
基本上,我怀疑客户端浏览器的configuration,特别是如果浏览器是IE浏览器。 浏览器必须相信该URL是祝福“内联网”发送NTLM凭据; 如果它认为该URL 不是内部网,它甚至不会尝试发送NTLM身份validation。
原来我有两个问题。
该网站不被认为是“内联网站点”,因此可能根本不会尝试使用Kerberos / NTLMauthentication。
我们在幕后出现了Kerberos错误。 我正在访问IIS_Box,事件日志中有一个关于host/IIS_Box.ourDomain.net
的KRB_AP_ER_MODIFIED
消息与HTTP/IIS_Box.ourDomain.net
不匹配的HTTP/IIS_Box.ourDomain.net
。
杰夫的build议,第一个问题是固定的 – 谢谢。
第二个是通过在域控制器上运行follwoing命令来sorting的:
setspn -A HTTP/IIS_Box.ourDomain.net IIS_Box
我发布这个决议,以防其他人有类似的问题,并发现这个问题。 (我讨厌find大量的人和我有同样的问题,但不能find他们如何修复它。)