переопределить AuthorizeCore в идентичности ядра asp.net mvc - PullRequest
0 голосов
/ 01 октября 2018

Я хочу получить Area RouthData внутри AuthorizationHandlerContext.
Я нашел этот ответ получить область из RouteData , поэтому мне нужно переопределить AuthorizeCore, как

public class ActionAuthorizeAttribute : AuthorizeAttribute {

protected override bool AuthorizeCore(System.Web.HttpContextBase httpContext) {
        var rd = httpContext.Request.RequestContext.RouteData;
        string currentAction = rd.GetRequiredString("action");
        string currentController = rd.GetRequiredString("controller");
        string currentArea = rd.Values["area"] as string;
    }
}

Но, к сожалению, я получил эту ошибку

'ActionAuthorizeAttribute.AuthorizeCore (HttpContextBase)': не найден подходящий метод для переопределения

Как правильно переопределить AuthorizeCore правильно?

1 Ответ

0 голосов
/ 01 октября 2018

Ошибка в том, что в AuthorizeAttribute нет метода AuthorizeCore для переопределения.Вы можете просмотреть исходный код , чтобы убедиться, что это именно тот случай.

В ASP.NET Core все немного по-другому, и вы, скорее всего, ссылаетесь на код, применимый к ASP.NET MVC.* * * * * * * * * * * * AuthorizeAttribute * * * * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *1009* * * * * * * * * * * * * * *] * * * * * * * * * * * * * * * * * * * * * * * * * * * * Я не знаю, чего вы в конечном итоге пытаетесь достичь, но есливы пытаетесь выполнить пользовательскую авторизацию, основанную на чем-то вроде данных о маршруте, тогда вы должны использовать для этого policy auth , а не пытаться создать подкласс AuthorizeAttribute.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...