【发布时间】:2020-09-12 06:26:08
【问题描述】:
var ManagerAccess = context.Principal.FindFirst(ClaimTypes.System).Value;
在这里我想这样执行:
(claimstypes.ManagerAccess).value;
这可能吗?
【问题讨论】:
-
您能提供更多信息吗?您使用的是 JWT 还是 ASP.NET Identity?您是否尝试过一些不起作用的方法,它是什么?
-
您想在何时何地添加自定义声明类型?另外,
Claimstypes是静态类,您不能使用Claimstypes.ManagerAccess,您可以使用context.Principal.FindFirst("ManagerAccess").Value吗? -
.AddJwtBearer(x => { x.Events = new JwtBearerEvents { OnTokenValidated = context =>{ ///这是声明类型的标准格式 var name = int.Parse(context.Principal.FindFirst( ClaimTypes.Name).Value); ///但我想根据我的要求添加我的自定义声明类型,如经理访问和其他类型.. var managerAccess = context.Principal.FindFirst(ClaimTypes.managerAccess).Value; var claim = new System.Collections.Generic.List
{ new Claim("demo1", demo1)}; var appIdentity = new ClaimsIdentity(claims);
标签: c# asp.net-core asp.net-core-webapi