gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 12:49:19 25 4
gpt4 key购买 nike

我半年前就开始使用MVC模式,到现在还有一些误解。

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

我的RBAC实现是这样的:用户->角色->权限因此每个用户(例如 userA)都可以拥有多个角色(例如读者、编辑、管理员),并且每个角色都可以拥有多个权限(读取、更新、删除等)。

MySQL 表

  • 用户(用户列表)
  • 角色(角色列表)
  • 权限(权限列表)
  • roles_permissions(角色列表->权限连接。例如编辑器->更新)
  • users_roles(用户列表->角色连接。例如,userA->编辑)

现在我的问题是我应该如何在 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

关于php - 基于角色的访问控制 - 正确的 MVC 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8600810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com