展开全部
ThinkPHP 官网有RBAC视频教程。 这里我也说说原理。数据结构是三张表。一张权限表,一张角色表,一张用户表。
需求分析:一个系统的每个功能都要验证权限,没有权限不能访问。
数据库实现:权限表有很多条记录,记录了系统的若干权限。比如:添加商品,删除商品,修改密码,查看报表等。
角色表记录了多个角色,一个角色一条记录。角色的意思是,比如: 经理,主管,员工,他们能操作的模块自1然不同。
用户表就是普通的后台用户表。
关键:让他们之间有联系。一个用户对应一个角色,比如一个公司里面一个人不可能既是主管,又是经理,这就是一个用户对应一个角色。一个角色对应对应多个权限。比如一个主管(主管角色)能发布商品,添加商品,删除商品。这就是对应多个权限。
具体实现:
权限表中包含一个字段,用来存角色表中角色的id。然后,用户表中有一个字段用来保存角色表中角色的id。这就把三个表串起来了。一个连表查询,就能获得“一个用户对应的角色以及所具有的权限”。
需求分析:一个系统的每个功能都要验证权限,没有权限不能访问。
数据库实现:权限表有很多条记录,记录了系统的若干权限。比如:添加商品,删除商品,修改密码,查看报表等。
角色表记录了多个角色,一个角色一条记录。角色的意思是,比如: 经理,主管,员工,他们能操作的模块自1然不同。
用户表就是普通的后台用户表。
关键:让他们之间有联系。一个用户对应一个角色,比如一个公司里面一个人不可能既是主管,又是经理,这就是一个用户对应一个角色。一个角色对应对应多个权限。比如一个主管(主管角色)能发布商品,添加商品,删除商品。这就是对应多个权限。
具体实现:
权限表中包含一个字段,用来存角色表中角色的id。然后,用户表中有一个字段用来保存角色表中角色的id。这就把三个表串起来了。一个连表查询,就能获得“一个用户对应的角色以及所具有的权限”。
深圳云诺科技
2024-11-11 广告
2024-11-11 广告
我们深圳云诺互联科技有限公司推荐使用的project项目管理工具,具备强大的任务分配、进度追踪及团队协作功能。它能够帮助团队高效规划项目阶段,明确各项任务的时间节点与责任人。通过直观的甘特图展示,管理层可轻松掌握项目全局,及时调整资源分配。...
点击进入详情页
本回答由深圳云诺科技提供
展开全部
http://wbloc.com/article-47.html 你可以参照这个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
官方不是有参考源码的么?去参考那个就好了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |