Asp.net core 在处理JWT令牌之前,ASP.NET Core中的自定义属性验证正在运行

Asp.net core 在处理JWT令牌之前,ASP.NET Core中的自定义属性验证正在运行,asp.net-core,authorization,Asp.net Core,Authorization,asp.net核心授权 我正在尝试使用自定义授权属性来更好地控制我的控制器操作,如下所示(有点类似于) 不幸的是,ASP.NET核心中内置的JWT授权处理程序(在startup.cs中配置)仅在运行此自定义属性is代码后运行,因此我似乎无法访问JWT令牌,然后处理自定义身份验证参数 有没有办法强制先处理JWT令牌,然后使用自定义属性进行额外的验证?我想我找到了一个解决方案……似乎可行……但有人能确认这是正确的方法吗 只需实现IOrderedFilter接口并将顺序设置为一个较高的数字。这意味着将

asp.net核心授权

我正在尝试使用自定义授权属性来更好地控制我的控制器操作,如下所示(有点类似于)

不幸的是,ASP.NET核心中内置的JWT授权处理程序(在startup.cs中配置)仅在运行此自定义属性is代码后运行,因此我似乎无法访问JWT令牌,然后处理自定义身份验证参数


有没有办法强制先处理JWT令牌,然后使用自定义属性进行额外的验证?

我想我找到了一个解决方案……似乎可行……但有人能确认这是正确的方法吗

只需实现IOrderedFilter接口并将顺序设置为一个较高的数字。这意味着将首先调用JWT身份验证,然后调用自定义授权过滤器

public class MyCustomAuthAttribute : AuthorizeAttribute, IAuthorizationFilter
{
 ... 
 public int Order => 9999;
...
}
public class MyCustomAuthAttribute : AuthorizeAttribute, IAuthorizationFilter
{
 ... 
 public int Order => 9999;
...
}