我在我的本地计算机上创建了可在调试模式下正常运行的网站,但是当我将网站放在我机器的本地iis(7.5)上时,我得到了
HTTP错误401.1 - 未经授权 您无权使用您提供的凭据查看此目录或页面。
身份验证设置 我启用了Windows模拟和Windows身份验证,并禁用了该部分中的所有其他内容
所有文件夹都具有完全权限
谁能告诉我发生了什么?
答案 0 :(得分:27)
作为快速而又脏的修复方法,将IIS_IUSRS
组读取/执行或修改权限授予您的网络文件夹... 但是“请使用互联网面向服务器,继续阅读....
要正确解决此问题,您应该为您的站点授予应用程序池标识读取/执行或修改对应用程序的Web文件夹的权限。要做到这一点:
Edit
Application pool identity
OK
单选按钮
ApplicationPoolIdentity
,然后点击OK
。OK
以保存并关闭“应用程序池高级设置页” icacls <path_to_site> /grant "IIS APPPOOL\<app_pool_name>"(CI)(OI)(M)
例如:
icacls C:\inetpub\wwwroot\mysite\ /grant "IIS APPPOOL\DEFAULTAPPPOOL":(CI)(OI)(M)
如果一切顺利icacls.exe
将报告:
processed file: c:\inetpub\wwwroot\mysite Successfully processed 1 files; Failed processing 0 files
答案 1 :(得分:3)
就我而言,这与权限无关。这是“环回检查”保护。问题是因为我正在从具有IIS的本地计算机进行连接。
症状是:您进行连接,并且浏览器提示您插入凭据3次,然后出现HTTP 401.1错误。
在另一台计算机上进行测试会很好。
某些站点会告诉您禁用“回送检查”,但是您必须将要连接的FQDN域添加到白名单,如以下服务器故障响应所述:
答案 2 :(得分:0)
我也有同样的问题。我只是删除该应用程序。创建了一个新的floder并再次托管它。问题解决了。
答案 3 :(得分:0)
有些晚了,但是我有时忘记的另一种选择是时差。在域环境中,运行“ Net Time / SET”与AD Box同步。
其他阅读:
要使所有这些正常工作并确保安全,域控制器和客户端必须具有相同的时间。 Windows操作系统包括时间服务工具(W32Time服务)。如果相关计算机之间的时间间隔在最大启用时间参数之内,则Kerberos身份验证将起作用。默认值为五分钟。您也可以关闭时间服务工具并安装第三方时间服务。当然,如果您在身份验证方面遇到问题,则应确保该时间对于域控制器和遇到问题的客户端而言是正确的。 (来源:https://sourcedaddy.com/windows-7/server-authentication.html)
重读:
....此外,由于Kerberos安全高度依赖于时间服务,因此IT专业人员应该了解Windows时间服务的工作方式。 .... (来源:https://redmondmag.com/articles/2012/02/01/understanding-the-essentials-of-the-kerberos-protocol.aspx)