首页 / PHP / PHP-后台权限管理设计问题
PHP-后台权限管理设计问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP-后台权限管理设计问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2327字,纯文字阅读大概需要4分钟。
内容图文
有没有哪位大哥做过后台权限管理这个模块的?能否给我说下你的设计思路?有文档给我看看也行(我也在网上找了资料,才来提问的,不要让我自行百度好吗?心塞...)我是这么想的,有三张表,管理员表、管理组表、规则表
管理员表(members)
m_id m_name m_passw m_groupid
管理员ID 用户名 密码 管理所对应的管理组ID
规则表(rules)
r_id r_name r_method r_status
规则ID 规则名 控制器名/方法名 状态
管理组(group)
g_id g_name g_content
组ID 组名 组权限(包含这一组所有的规则ID)
如上面代码里的,我觉得三张表就可以应付了,为什么我看到网上有6、7张表,之多,中间有关联表或映射表什么的东西,我想知道,这么多表具体有什么作用呢?实际操作起来(操作数据库)还很复杂,如果是必须,具体作用是什么?求解答疑惑
回复内容:
有没有哪位大哥做过后台权限管理这个模块的?能否给我说下你的设计思路?有文档给我看看也行(我也在网上找了资料,才来提问的,不要让我自行百度好吗?心塞...)
我是这么想的,有三张表,管理员表、管理组表、规则表
管理员表(members)
m_id m_name m_passw m_groupid
管理员ID 用户名 密码 管理所对应的管理组ID
规则表(rules)
r_id r_name r_method r_status
规则ID 规则名 控制器名/方法名 状态
管理组(group)
g_id g_name g_content
组ID 组名 组权限(包含这一组所有的规则ID)
如上面代码里的,我觉得三张表就可以应付了,为什么我看到网上有6、7张表,之多,中间有关联表或映射表什么的东西,我想知道,这么多表具体有什么作用呢?实际操作起来(操作数据库)还很复杂,如果是必须,具体作用是什么?求解答疑惑
你可以看一下PHPCMS的权限设计
常见的设计方式RBAC:
设计思路:通过对当前访问URI进行权限鉴定
数据结构:
表1:权限表,用于存放所有的访问URI
表2:权限组表,存权限组拥有访问权限的URI的id
表2:权限组,权限组对应有哪些用户
大致就是这么个思路
在你的基础上补充一下,你后台应该有一张后台菜单目录表,表里面记录了具体菜单名称对应的控制器方法名信息,权限规则表里把存控制器信息字段可以改成存菜单ID,多个可以逗号隔开。
一张用户表(必须字段gourpid 记录该属于用户组id), 一张用户组表(必须字段node,用来记录菜单表id,用逗号隔开记录),一张后台菜单表(用来记录菜单的url,也用于后台菜单遍历出菜单)。 用户登陆时,查询该用户属于哪个用户组,取出用户组的node,然后用node查出菜单遍历出菜单,也可以做相应的权限
可以看一下 YII2 的权限设计,每个用户可以对应多个角色,不同角色可以设置不同的权限:http://www.yiichina.com/doc/guide/2.0/security-authorization
或者参考一下discuz的权限设置
内容总结
以上是互联网集市为您收集整理的PHP-后台权限管理设计问题全部内容,希望文章能够帮你解决PHP-后台权限管理设计问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。