.NET Core应用程序如何在AuthrizationHandler实例中获取请求参数?
3.33K 次浏览
在.NET Core应用程序编程开发中,自定义了一个基于AuthorizationHandler
的权限验证类,现在需要在这个类中获取来自当前请求上下文控制器中的参数,在ASP.NET MVC中我们可以使用如下的方式获取:
var eventId = filterContext.RequestContext.HttpContext.Request.Params["id"];
但在.NET Core应用程序中这种方式好像不可用了。
那么,在.NET Core应用程序中,如何AuthrizationHandler实例中获取请求参数呢?
权限验证类如下:
public class HasAdminRoleFromAnySiteRequirement : AuthorizationHandler<HasAdminRoleFromAnySiteRequirement>, IAuthorizationRequirement
{
public HasAdminRoleFromAnySiteRequirement()
{
}
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context,
HasAdminRoleFromAnySiteRequirement requirement)
{
// 这里需要从控制器中获取参数,比如
// var eventId = filterContext.RequestContext.HttpContext.Request.Params["id"];
return Task.FromResult(0);
}
}