ASP.NETCore5授权策略未检测到声明
创始人
2024-09-17 12:00:28
0

如果在使用授权策略时ASP.NET Core 5未能检测到声明,则可以通过以下解决方法进行修复:

  1. 确认声明的正确性 确认声明名和声明值是否正确。可以通过查看令牌或调试程序来确定。例如,如果声明名是“role”而不是“roles”,则策略将无法检测到声明。

  2. 在Startup.cs 文件中添加声明类型 在 Startup.cs 文件的 ConfigureServices 方法中添加声明类型:

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { // ... options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidateAudience = true, ValidateLifetime = true, ValidateIssuerSigningKey = true, ValidIssuer = Configuration["Jwt:Issuer"], ValidAudience = Configuration["Jwt:Audience"], IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Jwt:Key"])), NameClaimType = ClaimTypes.Name, //添加声明类型 RoleClaimType = ClaimTypes.Role //添加声明类型 }; });

  1. 在Startup.cs文件中为每个策略添加声明需求 在 Startup.cs 文件的 ConfigureServices 方法中为每个策略添加声明需求:

services.AddAuthorization(options => { options.AddPolicy("AdminOnly", policy => policy.RequireClaim(ClaimTypes.Role, "admin")); });

  1. 在Controller中使用授权策略 在控制器或操作方法中使用授权策略:

[Authorize(Policy = "AdminOnly")] public async Task AdminOnlyAction() { // 只有管理员角色才能访问这个操作方法 return Ok(); }

以上是一些基本解决方法,可根据实际情况进行调整。

相关内容

热门资讯

第5分钟实锤!德州微扑克辅助(... 第5分钟实锤!德州微扑克辅助(德扑)都是存在有挂(详细辅助AI教程)进入游戏-大厅左侧-新手福利-激...
第4分钟实锤!智星德州菠萝辅助... 第4分钟实锤!智星德州菠萝辅助器(云扑克德州)果然是真的有挂(详细辅助线上教程)1、玩家可以在智星德...
四分钟实锤!德扑之星ai代打(... 四分钟实锤!德扑之星ai代打(来玩德州)一贯是有挂(详细辅助科技教程);1、德扑之星ai代打系统规律...
2分钟实锤!智星德州菠萝有挂吗... 2分钟实锤!智星德州菠萝有挂吗(德州app)好像真的有挂(详细辅助2025版教程);1、这是跨平台的...
9分钟实锤!德扑之星有作弊(来... 9分钟实锤!德扑之星有作弊(来玩德州)竟然有挂(详细辅助微扑克教程)1、完成德扑之星有作弊透视辅助安...
七分钟实锤!德扑之星有作弊(德... 七分钟实锤!德扑之星有作弊(德扑)确实是有挂(详细辅助AI教程);进入游戏-大厅左侧-新手福利-激活...
第九分钟实锤!智星德州菠萝外挂... 第九分钟实锤!智星德州菠萝外挂(wpk德州)一贯真的有挂(详细辅助揭秘教程)1、智星德州菠萝外挂机器...
第7分钟实锤!德州微扑克辅助(... 第7分钟实锤!德州微扑克辅助(手机德州)一直真的是有挂(详细辅助必赢方法)1、很好的工具软件,可以解...
两分钟实锤!德州之星有辅助挂(... 两分钟实锤!德州之星有辅助挂(德州wepower)其实真的有挂(详细辅助黑科技教程);该软件可以轻松...
第八分钟实锤!智星德州菠萝开挂... 第八分钟实锤!智星德州菠萝开挂(德州ai)原来有挂(详细辅助解说技巧)1、智星德州菠萝开挂系统规律教...