Asp.net mvc 2 在MVC2中抛出401

Asp.net mvc 2 在MVC2中抛出401,asp.net-mvc-2,Asp.net Mvc 2,每当用户试图访问他们无权访问的任何区域时,我想提出一个安全例外。我需要比AuthorizeAttribute提供的更多的控制,因此在操作中我有以下内容:抛出新的HttpException((int)HttpStatusCode.Unauthorized,String.Empty)这对404和403很有效。然而,我得到的却是一个500错误: 当前web请求的执行。 请查看堆栈跟踪以了解更多信息 有关错误和位置的信息 它起源于代码 Exception Details: System.Web.Http

每当用户试图访问他们无权访问的任何区域时,我想提出一个安全例外。我需要比AuthorizeAttribute提供的更多的控制,因此在操作中我有以下内容:
抛出新的HttpException((int)HttpStatusCode.Unauthorized,String.Empty)这对404和403很有效。然而,我得到的却是一个500错误:

当前web请求的执行。 请查看堆栈跟踪以了解更多信息 有关错误和位置的信息 它起源于代码

Exception Details: System.Web.HttpException:

有没有办法抛出401,或者只是将用户重定向到自定义401视图。

谢谢Ardman的帮助。我尝试使用HttpUnauthorized ActionResult,但决定将用户重定向到自定义401错误页面,因为ActionResult只是将他们重定向到我并不真正想要的登录页面。

感谢Ardman的帮助。我尝试使用HttpUnauthorized ActionResult,但决定将用户重定向到自定义的401错误页面,因为ActionResult只是将他们重定向到我并不真正想要的登录页面

Exception Details: System.Web.HttpException: