Я использую обработчик авторизации для установки пользовательской авторизации в моем контроллере в ядре .net. Как я могу получить параметры от контроллера и использовать его для обработчика авторизации.
В старой .net я могу получить параметры из параметра запроса Httpcontext, как это
var eventId = filterContext.RequestContext.HttpContext.Request.Params["id"];
Я не уверен, как я мог достичь этого .net core
enter code here
public class HasAdminRoleFromAnySiteRequirement : AuthorizationHandler<HasAdminRoleFromAnySiteRequirement>, IAuthorizationRequirement
{
public HasAdminRoleFromAnySiteRequirement()
{
}
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context,
HasAdminRoleFromAnySiteRequirement requirement)
{
//need to call get param from controller to used in the validation
// something like this
//var eventId = filterContext.RequestContext.HttpContext.Request.Params["id"];
// I tried the suggestion below but I can't get the parameter from routedata
// var mvcContext = context.Resource as Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext;
return Task.FromResult(0);
}
}