我正在尝试更改方法OnAuthorization
,以便它可用于任何应用程序......这样:
public partial class Controller
{
protected override void OnAuthorization(AuthorizationContext filterContext)
{
if ((string)(filterContext.RouteData.Values["action"]) == "test")
{
filterContext.Result = new HttpUnauthorizedResult();
}
}
}
但显示编译错误:
Controller.OnAuthorization(System.Web.Mvc.AuthorizationContext)':no 找到合适的方法来覆盖
有人可以帮助我吗?
答案 0 :(得分:1)
您必须创建自己的基本控制器类:
public partial class BaseController : Controller
{
protected override void OnAuthorization(AuthorizationContext filterContext)
{
if ((string)(filterContext.RouteData.Values["action"]) == "test")
{
filterContext.Result = new HttpUnauthorizedResult();
}
}
}
在代码中使用BaseController。
请记住,filterContext.RouteData.Values["action"]
可以是Test
或TEST
或tEST
。