首页 文章

IIS 7.5 MVC应用程序中的访问被拒绝

提问于
浏览
1

我正在使用一个曾经完美工作的测试服务器上的MVC应用程序 . 它在第二个应用程序用于登录的服务器上创建帐户 . 它使用凭证存储和PrincipalContext和UserPrincipal对象来创建这些帐户 .

我没有使用这个应用程序的测试版本几个月或可能差不多一年 . 现在,当我使用该应用程序创建帐户时,出现以下错误:

访问被拒绝 . ASP.NET无权访问所请求的资源 . 考虑将资源的访问权限授予ASP.NET请求标识 . ASP.NET具有基本进程标识(IIS 5上通常为 \ ASPNET,IIS 6和IIS 7上为网络服务,IIS 7.5上已配置的应用程序池标识),如果应用程序未模拟,则使用该标识 . 如果应用程序模拟通过,则标识将是匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户 . 要授予对文件的ASP.NET访问权限,请在资源管理器中右键单击该文件,选择“属性”,然后选择“安全”选项卡 . 单击“添加”以添加适当的用户或组 . 突出显示ASP.NET帐户,并选中所需访问的框 .

我查看了匿名访问,但此应用程序的 生产环境 版本也有一个规则,拒绝匿名访问,它工作正常 . 此应用程序从未使用模拟,即使它正在工作,我听说通常不建议授予对ASP.NET的显式访问权限 . 我可以通过Visual Studio使应用程序在本地工作,但部署到测试的版本继续提供此错误 . 我不会重新发布要测试的网站,但也许这是剩下的唯一选择?是否有任何明显的(但不是我)可能在安全设置中发生变化导致这种情况?我还在研究,没有运气 .

谢谢!

1 回答

  • 2

    您需要为具有适当访问级别的ApplicationPool标识提供服务帐户 . 当您使用Studio时,它会使用您的用户帐户进行访问,因此几乎是给定的 . 当应用程序安装到IIS上时,它使用尽可能低的可用访问级别,而这仅仅是不够的 . 不建议您将其打开,但为此特定目的 Build 有限的访问服务帐户将允许应用程序运行而不必危及系统或个人帐户 .

相关问题