2

メソッドを変更して、どのアプリケーションでも使用できるようにしようとして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)': オーバーライドする適切なメソッドが見つかりません

誰かが私を助けることができますか?

4

1 に答える 1

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ください。

于 2010-04-26T15:59:05.323 に答える