角色层次......有点儿

时间:2017-07-21 14:15:05

标签: php database-design architecture authorization

我有下面的表结构

以下是表格。

TextView

希望结构有意义。

我需要具有Users: + userid + roleid /* Associate a Role to a User */ Roles: + roleid + rolename Permissions: + permissionid + permissionname RolePermissions: + roleid + permissionid /* Associate a Permission to a Role */ 权限的用户才能更改用户的密码。这很简单,只需为其角色分配权限即可。

复杂的是,某些角色只能改变某些类型的用户'密码。例如,看门人可以更改初级管理员密码,但不能更改教师的密码。因此,无法进行change_password检查。也不想要一堆$user->can('edit_password')支票。有没有一个非常好的方式你们会接近这个?感谢。

1 个答案:

答案 0 :(得分:0)

你可以添加一个" power" col到您的用户表。这样,如果用户对功率大于或等于其自身电源权限的用户执行操作,则可以阻止操作。