数据库如何通过二进制字段来表达RBAC中的用户角色-与运算&位移算法运用
1. 需求分析:
要求在建立RBAC中user表中用一个字段来代表其角色,决定采用32位的方法,那么如何才能够用32位中某一位是否为1的方式来表达其角色呢?
2. 解决方法
通过位移算法和与运算可以快速判断某一位是否为1,如32位中,我规定从后算起第3位为1,就是超级管理员,那么,判断是否为超级管理员的算法如下:
if (($user->user_role>>2 & 1) == 1) {
.....
}
...
原创
2020-06-06 10:25:40 ·
301 阅读 ·
0 评论