求教“权限管理”的思路,最好是经过“角色”+“权限”来实现的
时间:2021-07-01 10:21:17
帮助过:14人阅读
求教“权限管理”的思路,最好是通过“角色”+“权限”来实现的
如题。。。
在复杂的权限设置面前,直接手写if、else我觉得应该是不行了吧
求教思路
权限
角色
分享到:
------解决方案--------------------
在建表的时候就该有权限表,角色的一个属性外键关联这个表
------解决方案--------------------
一般身份识别(登录)后就引入角色到session,然后根据角色查表得到权限
------解决方案--------------------
表设计:角色关联菜单(一级菜单~二级菜单……),角色关联操作(查看,删除,搜索,修改)
------解决方案--------------------
先确定权限字的表示和存储
php 的整型数为 logn 类型,具有64个二进制位。
因此,足以满足大多数应用的需求。(每个二进制位表示一个动作)
每个角色具有一个权限字,每个用户可以具有多个角色
每个用户还可以拥有一个例外权限字
综合权限采用位运算求出:
用户权限 = 角色权限 xor 例外
其中:角色权限 = 用户隶属角色权限 or 用户隶属角色权限 ...
------解决方案--------------------
角色<->权限;权限<->菜单
------解决方案--------------------
找一下RBAC设计模式
------解决方案--------------------
用户表关联用户组表,用户组表关联权限表,当用户进入的时候,先判断属于哪个组,然后根据组设定权限,很多开源产品都这么设计的。
------解决方案--------------------
简单的的 角色储存好每个方法, 使用这个方法时 判断这个用户角色是否有这个方法权限
------解决方案--------------------
RBAC权限模式就可以 这些网上一大堆,自己可以查查