尝试在IIS中设置应用程序给我错误:错误消息401.2 . :未授权:由于服务器配置登录失败

我通过右键单击 Default Web Site 并选择 Add Application 来创建一个Web应用程序 . 然后我给出别名,选择 DefaultAppPool 并将其指向物理路径 .

当我尝试浏览http://localhost/mywebapp时,我得到'Access is denied',其中包含以下详细信息:

错误消息401.2 . :未授权:由于服务器配置登录失败 . 验证您是否有权根据您提供的凭据和Web服务器上启用的身份验证方法查看此目录或页面 . 请与Web服务器的管理员联系以获取其他帮助 .

IIS网站上启用了

  • Anonymous Authentication .

  • Web应用程序是ASP.NET MVC5应用程序 .

  • Web应用程序以其默认标识运行: ApplicationPoolIdentity

以下是DefaultAppPool的设置

enter image description here

回答(3)

2 years ago

确保您的应用程序不在网络共享或Windows用户(魔术)目录中 . (如果您按照我的说明操作,它可以在Visual Studio默认魔术用户目录中)

如果您使用的是Win7,请创建一个新的MVC 3应用程序,然后运行^ F5 . 然后在解决方案资源管理器中,右键单击项目并选择属性 . 在左侧窗格中,选择“Web”选项卡 . 默认值为Cassini(使用Visual Studio开发服务器) . 选择下一个收音机,使用本地IIS Web服务器 . 现在^ F5,它将从IIS启动您的应用程序 . 您还可以在IIS管理器中找到您的应用程序,在右侧窗格中选择浏览80.现在它正在运行,比较两个应用程序中的差异 .

你的方法也应该有效 . 您可以尝试创建新的MVC应用程序并使用您的方法在IIS上进行测试 . 最常见的错误是创建vDir,而不是应用程序

错误消息非常好 . 要在应用程序池标识上设置ACLS,请按照 Securing Resources 下的说明进行操作http://learn.iis.net/page.aspx/624/application-pool-identities/

另见Understanding Built-In User and Group Accounts in IIS 7

如果新的MVC应用程序失败,请重复,但创建一个Web窗体应用程序 .

2 years ago

确保 IUSR 具有 webapp 所在目录的权限 .

此外,如果您的应用程序正在访问权限资源(文件IO,MSMQ等),则必须更改应用程序池的 Identity 或确保ISUR具有权限 .

2 years ago

确保 NETWORK SERVICE 帐户(或IIS正在使用的任何系统帐户)具有应用程序文件夹的权限 .

要检查正在使用的系统帐户,请转到应用程序池设置,系统帐户将列在 Identity 选项卡下:

enter image description here

EDIT

确保应用程序使用正确的应用程序池 . 此外,如果您尚未指定默认文档,那可能是您的问题 . 您可以通过在网址中添加网页名称来对此进行测试,例如: http://localhost/mywebapp/default.aspx