我正在解决为什么我无法通过为Windows身份验证和模拟配置的ASP.Net站点上的登录对话框。
我有一个ASP.Net 2.0应用程序,我正在尝试使用IIS 7.5在Windows 7上部署它。我创建了一个新站点,并将其绑定到localhost和一个完全限定的域名。 FQDN位于我的hosts文件中,并重定向到127.0.0.1
该站点也运行我创建的AppDomain,具有集成管道模式,并且流程模型标识设置为ApplicationPoolIdentity。
Web.config包括以下内容:
<trust level="High" />
<authentication mode="Windows" />
<authorization>
<deny users="?"/>
</authorization>
<identity impersonate="true"/>`
站点目录上的ACL设置为Everyone(完全控制 - 用于测试)。 应用程序池虚拟帐户(Windows 7的东西)也设置为对站点的物理目录的完全控制。
IIS身份验证启用了ASP.Net模拟并启用了Windows身份验证。
当我以localhost身份连接到网站时,它允许我通过登录提示并且应用程序加载而不会发生任何事故。
当我作为此站点/ ip /端口的主机头绑定中设置的FQDN连接到站点时,我无法通过登录提示。单击“取消”会生成http 401.1错误页面。
为什么?
答案 0 :(得分:7)
并且这个问题的答案将是一个称为身份验证环回检查的安全功能,在Windows 2003 SP1中引入,如下所示:http://support.microsoft.com/kb/926642
我正在尝试使用我的/ etc / hosts文件中定义的主机头连接到我的iis主机头实例,指向127.0.0.1,同时在运行iis的机器上登录 - 这是环回场景。
它会在各种情况下咬你,比如这个(http://blogs.bluethreadinc.com/thellebuyck/archive/2008/10/30/401.1-error-when-accessing-sharepoint-from-server.aspx)或谷歌这个受伤的世界(http://www.google.ca/search?q=authentication+loopback+check&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a)
FIX涉及一些简单的注册工作:http://blogs.bluethreadinc.com/thellebuyck/archive/2008/10/30/401.1-error-when-accessing-sharepoint-from-server.aspx
我也不需要为我的情况启用模拟,所以我禁用了它,现在我可以在本地和远程使用我的伪造fqdn进行连接
答案 1 :(得分:7)
Velvet提供的网址已关闭。我在archive.org上找到了一个缓存版本:
” 从服务器访问SharePoint时出现错误401.1
过去我在设置SharePoint环境(内部开发用户和客户)时多次遇到过这个问题,所以我觉得是时候写一篇关于它的博客文章了。如果您在Windows Server 2003 SP1或更高版本上运行SharePoint Server 2007或WSS 3.0,则在尝试使用服务器本身的主机标头访问SharePoint网站时会遇到身份验证问题(即主机文件具有portal.mydomain.com指向至127.0.0.1)。此问题表现为Microsoft内置到Windows Server 2003 SP1及更高版本的环回安全检查的结果。环回检查的目的是消除拒绝服务攻击,但是它会导致从服务器本地访问SharePoint站点的问题。在典型的生产环境中,这通常不是问题,因为您很少从前端Web服务器本身访问SharePoint站点(除了中央管理员)。但是我确实有物理和虚拟开发环境,所有活动都是从服务器进行的,所以这可能会导致一些胃灼热,除非您之前已经解决了这个问题。您可以在KB926642&amp;中阅读详细的知识库文章。 KB896861。以下是如何解决问题的简要说明。我通常禁用环回检查,但不建议在生产服务器环境中使用。
方法1:禁用身份验证环回检查
通过将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
注册表子项中的DisableLoopbackCheck注册表项设置为1,重新启用Windows Server 2003中存在的行为。要将DisableLoopbackCheck
注册表项设置为1,请在客户端计算机上按照下列步骤操作:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
DisableLoopbackCheck
,然后按Enter。 DisableLoopbackCheck
,然后单击“修改”。方法2:创建可在NTLM身份验证请求中引用的本地安全机构主机名 为此,请对客户端计算机上的所有节点执行以下步骤:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
BackConnectionHostNames
,然后按Enter。 BackConnectionHostNames
,然后单击“修改”。 注意在单独的行中键入每个主机名。
注意如果BackConnectionHostNames
注册表项作为REG_DWORD类型存在,则必须删除BackConnectionHostNames
注册表项。
7.退出注册表编辑器,然后重新启动计算机
“
来自:http://blogs.bluethreadinc.com/thellebuyck/archive/2008/10/30/401.1-error-when-accessing-sharepoint-from-server.aspx于2009年6月5日