cho*_*bo2 16 claims-based-identity role-based asp.net-identity asp.net-core
我仍然对所有这些身份的东西感到困惑.
首先,我仍然对角色,政策/声明之间的区别感到困惑.从我读到的角色来看,旧的做事方式是为了向后兼容,所以这是否意味着AspNetRoleClaims是这种向后兼容性的一部分?
我认为我理解声明和政策是个体的,比如政策基本上是一套必须通过的规则,并且能够在不必完成所有代码和更改角色的情况下更改规则.
如果是一个声明,基本上是一个值得信赖的来源担保该用户(即这是他们的年龄,可能来自政府来源).
现在令我困惑的是将它们放在一起.
我生成了Identity表并查看
AspNetUsers
AspNetUserRoles
AspNetRoles
AspNetRoleClaims
AspNetUserClaims
AspNetUserLogins
Run Code Online (Sandbox Code Playgroud)
我得到了AspNetUsers表和AspNetUserLogins(如果它们像外部登录提供程序一样使用).
我对AspNetRoleClaims和AspNetUserClaims之间的区别感到困惑.我只是使用AspNetUserClaims还是使用一切?
说我有这个场景
我有一家拥有多个分支机构的公司,在每个分支机构中,他们将成为该分支机构的管理员,他们在分支机构中拥有全部权力,并且可以在另一个分支机构做任何事情.在公司层面,将有一位管理员可以在公司层面和任何分支机构做任何事情.最后,我在分支机构中有一个人可以添加新员工.
这一切都是什么样的?我做3个角色吗?
CompanyAdmin
BranchAdmin
AddUsersAtBranchLevel (or is this some sort of claim??)
What do the tables look like? Is there anything going to be in AspNetRoleClaims? AspNetUserClaims?
Run Code Online (Sandbox Code Playgroud)
现在我可以制定一个策略来检查用户是否是分支管理员以及他们是否正在尝试编辑他们的分支?
或者我只是忘记所有角色的东西,并在AspNetUserClaims中
User1 CanAddUserToBranch true
User1 CanDeleteUserBranch true
User1 CanAddUserToCompany true
Run Code Online (Sandbox Code Playgroud)
然后在我的代码中创建所有不同的"ClaimTypes"并创建一个polciy,看看他们是否说"CanAddUserToBranch"然后另一个声明或策略来检查他们所在的分支以确保他们正在尝试向正确的分支添加内容?
编辑
您认为我需要使用基于资源的授权吗?
gld*_*ael 19
+------------------+------------------+
| Table | Description |
+------------------+------------------+
| AspNetUsers | The users. |
| AspNetRoles | The roles. |
| AspNetUserRoles | Roles of users. |
| AspNetUserClaims | Claims by users. |
| AspNetRoleClaims | Claims by roles. |
+------------------+------------------+
Run Code Online (Sandbox Code Playgroud)
如果您发现角色和声明令人困惑,可能是因为角色是声明的特殊情况,即角色是声明.
角色与政策
对于基于角色的授权,授权系统检查是否已为用户分配了访问给定资源所需的角色.
对于基于策略的授权,执行一些业务逻辑以决定是否应授权资源访问.
说我有这种情况
我有一家拥有多个分支机构的公司,在每个分支机构中,他们将成为该分支机构的管理员,他们在分支机构中拥有全部权力,并且可以在另一个分支机构做任何事情.在公司层面,将有一位管理员可以在公司层面和任何分支机构做任何事情.最后,我在分支机构中有一个人可以添加新员工.
这是一种方法:
两个角色: Admin,TheRoleThatCanAddUsers
一位自称叫Branch,可以采取一个分支ID(或其他任何识别分支).公司管理员可以使用类似"CompanyWide"或0或的值-1.
现在创建一个策略,检查角色和分支声明,并决定是否应该授权用户.
| 归档时间: |
|
| 查看次数: |
3601 次 |
| 最近记录: |