加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 基于角色的访问控制 – 正确的MVC模式

发布时间:2020-12-13 18:07:56 所属栏目:PHP教程 来源:网络整理
导读:半年前我开始使用MVC模式,我仍然有一些误解. 现在我想在我的应用程序中实现基于角色的访问控制.但是,我的问题不是关于RBAC,而是关于MVC. 我对RBAC的实现是这样的: 用户角色的许可 所以每个用户(例如用户A)都可以拥有多个角色(例如读者,编辑者,管理员),每个
半年前我开始使用MVC模式,我仍然有一些误解.

现在我想在我的应用程序中实现基于角色的访问控制.但是,我的问题不是关于RBAC,而是关于MVC.

我对RBAC的实现是这样的:
用户>角色的>许可
所以每个用户(例如用户A)都可以拥有多个角色(例如读者,编辑者,管理员),每个角色都可以拥有许多权限(读取,更新,删除等).

MySQL表

>用户(用户列表)
>角色(角色列表)
>权限(权限列表)
> roles_permissions(角色列表 – >权限连接.例如编辑器 – >更新)
> users_roles(用户列表 – >角色连接.例如用户A->编辑器)

现在我的问题是
我应该如何在MVC中实现它?
有一个单独的模型:用户,角色,权限,roles_permissions,users_roles,而不是具有创建用户,roles_permissions和user_roles的authManager类?
这种方式是否正确?有更好的,也许更优雅的方式吗?

基本上我会坚持使用许多现有的Kohana ACL库中的一个,而不是自己编写(或者至少尝试一下它们是否符合您的需求).

您可能想要检查此线程(Wouter A1,A2和ACL模块) – http://forum.kohanaframework.org/discussion/1988/releases-a1-authentication-acl-acl-for-kohana-a2-object-level-authorization/p1
它不断更新和维护,也可用于3.2版本.

如果您觉得Wouter模块很复杂,您还可以检查Vendo ACL模块,这非常简单并且消除了很多并发症 – https://github.com/vendo/acl
示例如何使用它 – http://forum.kohanaframework.org/discussion/9517/getting-started-with-vendo-acl/p1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读