UnauthorizedAccessException()类错误

时间:2011-03-11 18:15:57

标签: asp.net

我有一个应用程序,它使用自己的授权来确定用户是否可以访问页面。我希望在访问被拒绝的情况下显示更友好的“访问被拒绝”页面。在MasterPage中......

        if (!authorize) 
        { 
            throw new UnauthorizedAccessException(); //error occurs here, looks like I'm not allowed to use this class
        } 

在web.config

<customErrors mode="Off" defaultRedirect="~/ErrorPages/ErrorPage.aspx"> 
  <error statusCode="403" redirect="AccessDeniedPage.aspx" /> 
</customErrors>I get the error below.  

我似乎只是因为尝试实例化/使用UnauthorizedAccessException()类而得到错误。我想这样做,有没有办法使用它?

 /**************************************************************************************************************************
Attempted to perform an unauthorized operation. 

Exception Details: System.UnauthorizedAccessException: Attempted to perform an unauthorized operation. 

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. 
*************************************************************************************************************************/

2 个答案:

答案 0 :(得分:2)

正如弗雷德里克所说,你输了一个错误,所以你得到一个错误。如果你想实例化异常,请不要使用throw。

UnauthorizedAccessException uae = new UnauthorizedAccessException(“some message”);

但同样,这只是创造了一个例外;一旦你抛出它,你就会得到你已经得到的信息。

为什么不重定向? Response.Redirect(“〜/ AccessDeniedPage.aspx”,False);

如果您确实想要使用该异常,则可以继续按原样抛出异常,但也可以处理Global.asax文件的Application_Error事件中的异常。在Application_Error事件中,测试异常是否为UnauthorizedAccessException,如果是,则将用户重定向到AccessDeniedPage.aspx。 Application_Error的基本用法:MSDN

答案 1 :(得分:0)

好吧,你 投掷UnauthorizedAccessException。如果没有try-catch捕获它,代码将在那里崩溃。我认为您看到的异常是您的例外。