Asp.net core JWT和基于策略的授权在Asp.NETCore3.1中同时工作
我想用JWT承载和基于策略的身份验证同时对用户进行身份验证 出于某些原因,用户只需使用JWT进行身份验证,然后我将检查他们的角色。他们的角色存储在项目数据库中。因此:Asp.net core JWT和基于策略的授权在Asp.NETCore3.1中同时工作,asp.net-core,authentication,authorization,asp.net-identity,jwt-auth,Asp.net Core,Authentication,Authorization,Asp.net Identity,Jwt Auth,我想用JWT承载和基于策略的身份验证同时对用户进行身份验证 出于某些原因,用户只需使用JWT进行身份验证,然后我将检查他们的角色。他们的角色存储在项目数据库中。因此: 检查jwt令牌以授权用户 然后检查项目数据库中的用户角色。(用户角色不保存在JWT令牌中) 我读过这篇文档,但它的工作原理类似于“或”,只需检查一下这个身份验证方案,但我需要“和”的顺序 Role_Based : services.AddAuthorization(options => { options.Ad
Role_Based :
services.AddAuthorization(options =>
{
options.AddPolicy("Over18", policy =>
{
policy.AuthenticationSchemes.Add(JwtBearerDefaults.AuthenticationScheme);
policy.RequireAuthenticatedUser();
policy.Requirements.Add(new MinimumAgeRequirement());
});
});
JWT :
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.Audience = "https://localhost:5000/";
options.Authority = "https://localhost:5000/identity/";
});
我该怎么办?这里有一个关于的链接,它可以设置策略、方案和角色。