php – 使用按位运算符的不同模块的用户角色权限
发布时间:2020-12-13 21:37:12 所属栏目:PHP教程 来源:网络整理
导读:所以我有一个应用程序,它有几个模块(将模块视为不同的页面),每个模块都有一组权限;查看,添加,编辑,删除 例如,我希望每个用户角色都拥有每个模块的权限 Role A Permissions Module 1 - view Module 2 - add,edit Module 3 - view,add,edit,delete etc. 我如何
所以我有一个应用程序,它有几个模块(将模块视为不同的页面),每个模块都有一组权限;查看,添加,编辑,删除
例如,我希望每个用户角色都拥有每个模块的权限
我如何设计数据库来支持它以及如何使用按位运算符来实现它(或者对于这种特殊情况会有更有效的方法吗?) 我已经有了user,user_role和role表,但我不确定如何设计Module表. 解决方法
如果您决定使用位掩码,请记住您可以跟踪的权限数量是有限的(您可以在签名的4字节整数数据库列中跟踪31个权限).然后为每个权限分配一个2的幂(1,2,4,8等)的值,并且您可以执行按位操作以检查权限匹配.
根据您要完成的任务,我建议您创建一个role_has_module_privs表.从查询的角度来看,这种方法可扩展性更高,效率更高.但是如果你有一个有限数量的组合,位掩码可能会更有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |