ASP.NET错误消息401.3“访问被拒绝”的详细解决方案

时间:2015-07-17 19:39:50

标签: asp.net asmx

我刚刚使用Web服务为ASP.NET Web应用程序编写了示例代码。环境是Visual Studio 2015.我的操作系统是Windows 8。

进行调试时,网页显示来自网址的应用。而是报告错误:

应用程序中的服务器错误。

访问被拒绝。 描述:访问提供此请求所需的资源时发生错误。您可能没有权限查看请求的资源。

错误消息401.3:您无权使用您提供的凭据查看此目录或页面(由于访问控制列表而拒绝访问)。请Web服务器的管理员授予您访问'K:... \ WebServicesDemo \ WebServicesDemo \ CalculatorWebService.asmx'的权限。

版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.34248

我尝试了什么:

允许访问“IIS_IUser”,但它应该是“IUSR”。这解决了这个问题。这来自帖子:Hosting ASP.NET in IIS7 gives Access is denied?

我注意到提供了一些解决方案,但这些解决方案对我来说都没有意义。谁能给我一步一步的回答?

例如,我不知道在哪里添加IIS_IUSRS或IUSR。他们有什么办法?其次,似乎IIS_IUSRS和IUSR都没有在我的安全文件夹中被识别(右键单击app文件夹,属性 - >安全选项卡)

有关详细信息,我的Web.config看起来像:

{{1}}

2 个答案:

答案 0 :(得分:5)

  1. 导航到您的网络应用程序的根目录:例如C:\ Inetpub \ wwwroot [网站文件夹名称]
  2. 右键单击该文件,然后转到“属性>安全性”
  3. 点击“修改”,然后点击“添加”
  4. 点击左下角的“高级”
  5. 点击“立即查找” - 这应该列出所有可用的帐户
  6. 滚动直到找到“IUSR”并选择它
  7. 点击“确定”
  8. 再次点击“确定”
  9. 在“IUSR权限”块中,点击“完全控制”旁边的“允许”
  10. 单击“应用”(等待对话框关闭)
  11. 点击“确定”
  12. 再次点击“确定”
  13. 你的问题应该解决

答案 1 :(得分:0)

除了乍得的答案之外,您可能还需要检查一个棘手的设置:

1)在IIS中打开根网站

2)转到Authentication --> Anonymous Authentication --> Edit

3)确保将Anonymous user identity设置为Application pool identity

但是,如果要使用与应用程序池帐户不同的特定用户帐户进行匿名身份验证,则还必须授予该帐户访问Web应用程序文件夹的权限。