"IAuthorizationFilter" 简单使用 - .Net Core - WebAPI

hmister
2022-05-30 / 0 评论 / 161 阅读 / 正在检测是否收录...

为什么要做这个

 最近在做权限验证的时候,开始使用JWT封装的一些验证,最后发现满足不了我的一些需求,而且改动起来也比较麻烦。经过几天的验证之后,绝对弃用JWTToken的验证,改用IAuthorizationFilter这个过滤器。
## 最终效果
 实现访问接口的时候,根据自定义的规则进行过滤

用法

 1、新建一个类,继承Attribute(.net特性,具体信息自行查阅)、IAuthorizationFilter

public class ApiAuthorize : Attribute, IAuthorizationFilter
{
    public void OnAuthorization(AuthorizationFilterContext context)
    {
         string token = context.HttpContext.Request.Headers["Authorization"].ToString();
         //具体过滤规则
    }
}

 2、使用

[TypeFilter(typeof(ApiAuthorize))]
[HttpGet,Route("Test")]
public async Task<JsonResult> Test()
{
    return RenderSuccess();
}

关于要使用TypeFilter的原因,因为我在ApiAuthorize里面构造了一些东西,需要需要这个才能引进去。

0

评论 (0)

取消