asp.net - 具有多个声明的授权策略

标签 asp.net asp.net-core authorization .net-core claims-based-identity

我创建了多个授权策略,每个策略中都有1个声明,并进行了角色检查,如下所示:

options.AddPolicy("SuperAdminPolicy", policy => policy.RequireClaim(ClaimTypes.Role, "SuperAdmin"));

一切正常。

但是,我现在要检查2种不同类型的 claim ,例如我想确保用户具有特定的角色声明(如上所述),但是我还想检查完全不同的声明(例如名字)的值。为了澄清,我想说些类似的话:“用户必须是角色'x',并且名字声明值必须为'bob'”。

我还不太清楚如何实现这一目标(而且我敢肯定,这可能很简单)。

有人可以指出我正确的方向吗?

谢谢。

最佳答案

我们实际上可以像这样链接RequireClaim。

services.AddAuthorization(option => {

            option.AddPolicy("SuperAdmin policy",
            policy =>  policy.RequireClaim(ClaimType.Role,"SuperAdmin")
                              .RequireClaim(ClaimType.Name,"Bob"));
                             });

关于asp.net - 具有多个声明的授权策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42875142/

相关文章:

asp.net - 为什么某些浏览器会两次请求我的 ASP.Net 网站上的所有页面?

angularjs - 如何在Header Angular JS中传递授权 token

JMeter 基本身份验证

新安装后 IIS 中的 ASP.NET 下拉列表中缺少 .NET 3.5

asp.net - 如何限制ASP.NET中的目录列表访问

javascript - 如何使用 IdentityServer4 授予用户对特定 API 的访问权限?

c# - 如何在 Microsoft WebView2 中启用媒体自动播放?

c# - ASP.NET Core - 将自定义属性添加到 HttpRequest

google-app-engine - Google Pub/Sub 推送消息不适用于启用 IAP 的应用引擎

javascript - 我们可以在 asp.net 页面中使用 $(document).ready() 吗?