相关疑难解决方法(0)

如何从authrizationhandler .net核心获取params

我正在使用授权处理程序将自定义授权放在.net核心的控制器中.如何从控制器获取参数并将其用于授权处理程序.

在旧的.net中,我可以像这样从Httpcontext请求参数中获取参数

var eventId = filterContext.RequestContext.HttpContext.Request.Params["id"];
Run Code Online (Sandbox Code Playgroud)

我不知道如何在.net核心中实现它

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# .net-core asp.net-core

14
推荐指数
4
解决办法
9090
查看次数

标签 统计

.net-core ×1

asp.net-core ×1

c# ×1