【发布时间】:2017-11-09 18:51:37
【问题描述】:
我已经在 ASP.NET Core 应用程序中设置了标准身份验证系统。
用户、角色、角色声明(作为权限)
在 Startup.cs 中,我为每个角色和每个权限创建一个策略。假设这将使我的视图具有完全的灵活性,以便能够说我希望此按钮显示用户是否属于具有声明 DeleteCustomer 的角色的一部分,或者用户是否属于角色超级用户。
如何使用 Authorize 属性执行 OR 条件。例如,在我的整个站点中,我希望 SuperuserRole Policy 拥有对所有内容的完全权限。
在一个动作方法上,假设我有以下内容:
[授权(Policy = "EditCustomer")]
这需要将登录用户分配给具有声明:Edit.Customer 的角色,因为我正在为声明 Edit.Customer 创建策略。这一切都很好,但是我怎么说我希望任何具有超级用户角色的用户都能够访问 EditCustomer 操作方法。超级用户作为角色在数据库中,另外添加为名为 RequireSuperUser 的策略。
【问题讨论】:
-
你得到这个为你工作了吗?我面临着类似的问题。 @Richard Mneyan 的回答得到了我的投票并为我工作。得到这个答案会很好,因为它会帮助其他人。
标签: c# asp.net-core asp.net-core-mvc asp.net-identity asp.net-identity-3