总共有3种解决方案,汇总如下:
方案1、禁用环回检查
-
进入注册表编辑器,依次点入:HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Control"Lsa
-
右键单击“Lsa”,指向“新建”,然后单击“DWORD值”
-
键入DisableLoopbackCheck,然后按Enter
-
右键单击“DisableLoopbackCheck”,然后单击“修改”
-
在“数值数据”框中,键入1,然后单击“确定”
-
退出注册表编辑器,然后重新启动您的计算机
方案2、指定主机名
要指定映射到环回地址并且可以连接到计算机上的网站的主机名,请按照以下步骤进行操作:
-
依次单击“开始”和“运行”,键入regedit,然后单击“确定”。
-
在注册表编辑器中,找到并单击下面的注册表项:HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Control"Lsa"MSV1_0
-
右键单击“MSV1_0”,指向“新建”,然后单击“多字符串值”。
-
键入BackConnectionHostNames,然后按Enter。
-
右键单击“BackConnectionHostNames”,然后单击“修改”。
-
在“数值数据”框中,为本地计算机上的网站键入一个或多个主机名,然后单击“确定”。
-
退出注册表编辑器,然后重新启动IISAdmin服务。
方案3、修改iis身份验证方式
大致原因是iis的"IntegratedWindowsAuthentication"验证方式包含Kerberos和NTLM两种验证方式,一般情况下是先使用NTLM做验证,但有的时候iis会莫名的错乱次序,先使用Kerberos的方式验证,这样就导致了站定总是验证失败的现象
-
OpentheIISManager
-
ExpandthelocalcomputerandthenclickonWebSites
-
Onthesiteslist,findthewebsiteyouwanttochangeandtakenoteoftheIdentifiercolumn
-
openthecommandpromptandnavigatetothefollowingfolder:"C:\inetpub\adminscripts"
-
runthefollowingcommand:
adsutilGETW3SVC/YOURID/Root/NTAuthenticationProviders
changeYOURIDforyourtheIDofthewebsiteyouwanttochange -
Ifthecommandreturns"Negotiate,NTLM"thenKerberosisactiveforthewebsite,tochangethis,justrunthesamecommandagain,butwiththeSETparameterinsteadofGETandwiththeNTLMparameter:
adsutilSETW3SVC/SEUID/Root/NTAuthenticationProvidersNTLM
相关文档:
1、http://www.cnblogs.com/jerry-chen/archive/2009/05/26/1489262.html
2、http://weblogs.asp.net/felipeferreira/archive/2008/03/11/fixing-sharepoint-401-1-http-errors.aspx
本文转自 yuxye 51CTO博客,原文链接:http://blog.51cto.com/fishvsfrog/1308263