如果我的 ASP.NET MVC 3 (Razor) Web 应用程序中有一个区域,其中所有控制器都派生自如下所示的基本控制器:
[Authorize(Roles="Administrator")]
public class AdminController : Controller
{
}
当非管理员尝试访问该区域中的 URL 时,他们会被重定向到 web.config 中指定的登录页面。
但是,如果用户已经通过身份验证,但不是管理员,这并没有真正的意义。在那种情况下,我们不应该返回 HTTP 401 吗?
我的问题基本上是人们如何处理这个问题 - 他们是否创建自定义授权属性?