1

很简单。
我在 AuthorizationFilter 中抛出了 UnauthorizedAccessException。我希望 UnauthorizedAccessException 转到错误页面,而不是 /Account/Login 页面。
我怎样才能做出这样的改变?

4

2 回答 2

3

尝试在 global.asax.cs 中设置类似的东西

protected void Application_Error(object sender, EventArgs e)
{
    // excpt is the exception thrown
    // The exception that really happened is retrieved through the GetBaseException() method
    // because the exception returned by the GetLastError() is a HttpException
    Exception excpt = Server.GetLastError().GetBaseException();

      if(excpt is UnauthorizedAccessException)
      { 
        // redirect here
      }

}
于 2012-08-04T14:09:22.820 回答
1

您可以使用多个异常处理程序

        try
        {
            // code here
        }
        catch (UnauthorizedAccessException)
        {
            Response.Redirect(errorPageUrl, false);
        }
        catch (Exception)
        {
            Response.Redirect(loginPageUrl, false);
        }
于 2012-08-04T14:06:53.510 回答