我的项目是在VS-2022和使用下面的标签。
有人能解释一下是什么吗
code-snippet reference
下面的意思是在SERVER程序.cs文件中?这个片段打算“做什么”?
具体来说,“名称”和“角色”指的是什么?我已经在AspNetRoles表中创建了四个角色,还创建了AspNetrolClaims和AspNetUserClaims。但是,以下Blazor页面条件不起作用:
@attribute [Authorize(Roles = "Owner,Admin,Lead,User")]
我在一个建议中发现了以下代码段,我需要这些代码来获得角色授权工作。
使用时,我在包含以下内容的行上得到运行时错误“Sequence contains no elements”:
options.ApiResources.Single().UserClaims.Add("name");
由于阅读的原因,我无法知道program.cs文件部分(以前称为startup.cs)中需要什么。NET Core 3.1和。NET 5在线教程,让我的项目进入。NET 6和WASM托管。与过去的两年相比,情况发生了很大变化,尤其是与Blazor和。NET 6。
我欢迎有关在我的项目中获得角色授权的问题、评论和解决方案。
builder.Services.AddIdentityServer()
.AddApiAuthorization<ApplicationUser, ApplicationDbContext>(options => {
options.IdentityResources["openid"].UserClaims.Add("name");
options.ApiResources.Single().UserClaims.Add("name");
options.IdentityResources["openid"].UserClaims.Add("role");
options.ApiResources.Single().UserClaims.Add("role");
});
JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Remove("role");