【发布时间】:2016-04-15 13:33:45
【问题描述】:
在选择“个人用户帐户”时,我使用的是 MVC6 Core 1.0 随附的最新最好的 Identity 3.x。
我的用户身份验证要求如下:
Users -> AspNetUsers
Roles -> AspNetRoles
UserRoles -> AspNetUserRoles
RoleFunctions -> I don't see a table for this in the Identity db structure
RoleFunctions 是任何类型的系统函数,例如 DeleteCustomers、AccessToCustomerPage 等。
我将假设 ASP.NET Identity 不支持使用基于角色的身份验证的这一额外步骤,因此我将不得不自己创建表和相关函数。这是真的吗,还是对我来说都是这样,我只是没看到?
【问题讨论】:
-
我认为您指的是政策。我猜您将拥有已知数量的角色功能,并且它们将在您的代码中被知道(除非您的目标是一些活力)?您可以考虑对它们进行硬编码并创建策略,例如“为了删除客户,用户必须拥有这个、这个和/或这个角色”。在这里查看:docs.asp.net/en/latest/security/authorization/…
-
好吧,如果我有一堆全局常量用于所有角色函数并使用我不应该需要 RoleFunctions 表的策略,那么你的意思是?问题是我需要在功能级别而不是角色级别进行所有检查。例如:如果当前登录用户是包含 DeleteCustomer 的角色的一部分,则在视图模型中显示垃圾箱。
标签: asp.net asp.net-mvc asp.net-identity asp.net-core-1.0 asp.net-identity-3