RenderAction上的访问被拒绝

时间:2012-06-08 10:11:23

标签: asp.net-mvc-3 razor html-helper access-denied renderaction

我正在开发一个新项目并尝试登录该站点(它使用表单身份验证),但是一旦我登录,我就会收到此错误。

Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6 and IIS 7, and the configured application pool identity on IIS 7.5) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.

To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.

Source Error:

Line 10: 
Line 11:     <div id="partialListOfAuctionsDiv">
Line 12:         @{ Html.RenderAction("PartialListOfAuctions"); }
Line 13:     </div>
Line 14: </fieldset>

突出显示为错误来源的行是

@{ Html.RenderAction("PartialListOfAuctions"); }

我不知道这可能是什么意思以及如何解决它。任何帮助将不胜感激。

谢谢,

萨钦

1 个答案:

答案 0 :(得分:0)

看起来ASP.NET进程没有对Web文件夹的物理访问权限。您在获得授权之前可以访问该站点这一事实意味着MVC可以在此之前访问这些文件;这意味着在您登录后其凭据会被更改。我相信,只有在您启用了模拟时才会发生这种情况。在web.config中查找这一行:

<identity impersonate="true" />