首页 > 解决方案 > 如何验证参数 ID 和令牌声明 ID 与授权标签相同

问题描述

有什么方法可以验证参数值和我的令牌值是否相同..来自授权标签

[Authorize(AuthenticationSchemes = "abc", Roles = "Parents", Policy = "ParentsOnly")]

例子:public async Task<IActionResult> GetParentInfoAsync(int parentId) { }

我的 JWT 令牌从 ParentId 221 生成,我传入参数 225 id .. 它的工作正常参数 id 比较我的自定义声明方法...但是如何授权标签自动验证这不是正确的 parentId

如果它不可能,我想从下面的 method.in request.Path 获取参数值我得到完整的 url.. 但我只想要参数值和控制器名称任何想法如何得到这个

 protected override async Task<AuthenticateResult> HandleAuthenticateAsync(){
var requestvalue = Request.Path;
}

启动.cs

   services.AddAuthorization(options =>
                {
                    options.AddPolicy("ParentOnly", policy => policy.RequireClaim(ClaimTypes.Sid));
                });

在 ClaimTypes.Sid​​ 我的 ParentId

标签: .net-coreasp.net-core-mvcasp.net-core-webapibasic-authentication

解决方案


推荐阅读