【发布时间】:2021-02-22 15:59:44
【问题描述】:
asp.net核心授权
我正在尝试使用自定义授权属性来更好地控制这样的控制器操作(有点类似于How do you create a custom AuthorizeAttribute in ASP.NET Core?)
[MyCustomAuth(Permissions="Products/Read")]
public IActionResult SomeMethod()
{
.....
}
public class MyCustomAuthAttribute : AuthorizeAttribute, IAuthorizationFilter
{
public string Permissions { get; set; } //Permission string to get from controller
public void OnAuthorization(AuthorizationFilterContext context)
{
//
//read jwttoken
//and process permissions string
//to decide if user can run controller method
//
..
}
}
不幸的是,ASP.NET 核心中内置的 JWT 授权处理程序(在 startup.cs 中配置)仅在此自定义属性运行代码之后运行,因此我似乎无法访问 JWT 令牌,然后处理自定义身份验证参数。
是否强制先处理 JWT 令牌,然后使用自定义属性进行额外验证?
【问题讨论】:
标签: asp.net-core authorization