Zend_Acl,角色和权限存储在数据库中

2024-01-10

我想为我的应用程序构建一个具有以下要求的 ACL 系统。

  1. 用户将被分配单个或多个角色。 (行政人员、工作人员)等
  2. 角色将具有权限。(Send_Invoices、Send_mail、Delete_Invoices、Send_Estimate)等。
  3. 除了继承的角色之外,用户还将被分配自定义权限。

我的ACL数据库结构如下

role:
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int(11)     | NO   | PRI | NULL    | auto_increment |
| roleName | varchar(50) | NO   | UNI | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
permission:
+----------------+-------------+------+-----+---------+----------------+
| Field          | Type        | Null | Key | Default | Extra          |
+----------------+-------------+------+-----+---------+----------------+
| id             | int(11)     | NO   | PRI | NULL    | auto_increment |
| permissionName | varchar(50) | NO   |     | NULL    |                |
| permissionKey  | varchar(50) | NO   | UNI | NULL    |                |
+----------------+-------------+------+-----+---------+----------------+
role_permission
+---------------+---------+------+-----+---------+----------------+
| Field         | Type    | Null | Key | Default | Extra          |
+---------------+---------+------+-----+---------+----------------+
| id            | int(11) | NO   | PRI | NULL    | auto_increment |
| role_id       | int(11) | NO   | MUL | NULL    |                |
| permission_id | int(11) | NO   |     | NULL    |                |
+---------------+---------+------+-----+---------+----------------+
user_role
+---------------+---------+------+-----+---------+----------------+
| Field         | Type    | Null | Key | Default | Extra          |
+---------------+---------+------+-----+---------+----------------+
| id            | int(11) | NO   | PRI | NULL    | auto_increment |
| user_id       | int(11) | NO   | MUL | NULL    |                |
| role_id       | int(11) | NO   |     | NULL    |                |
+---------------+---------+------+-----+---------+----------------+
user_permission
+---------------+---------+------+-----+---------+----------------+
| Field         | Type    | Null | Key | Default | Extra          |
+---------------+---------+------+-----+---------+----------------+
| id            | int(11) | NO   | PRI | NULL    | auto_increment |
| user_id       | int(11) | NO   | MUL | NULL    |                |
| permission_id | int(11) | NO   |     | NULL    |                |
+---------------+---------+------+-----+---------+----------------+

我已经迁移到 Zend Framework,并且在确定 Zend Acl 是否允许我实现当前结构时遇到问题。我的问题是。

  1. 我是否可以使用当前数据库结构实现 ACL 来完成 Zend Framework 中的需要?
  2. 有没有更好的实现可以让我在 zend 框架中实现我想要的目标?

如果有人能为我提供一种方法来开始我需要做的事情,我将不胜感激。有什么资源、链接可以帮助我吗?

谢谢。


嗯,我认为这个结构非常好,要使其正常工作,您必须执行 2 个步骤

1-设置所有数据库和要求

2-创建一个 ACL 插件来确定用户的角色及其权限

一些有教义支持的例子:

开发 Doctrine 支持的 ACL 助手 TDD 风格,第 1 部分 http://monzee.wordpress.com/2009/06/14/developing-a-doctrine-backed-acl-helper-tdd-style-part-1/

开发 Doctrine 支持的 ACL 助手 TDD 风格,第 2 部分 http://monzee.wordpress.com/2009/06/20/developing-a-doctrine-backed-acl-helper-tdd-style-part-2/

另一个简单的 ACL :

zend框架中的动态自定义ACL? https://stackoverflow.com/questions/8548649/dynamic-custom-acl-in-zend-framework

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Zend_Acl,角色和权限存储在数据库中 的相关文章

  • 通过 PageController 路由除现有控制器之外的所有请求 (Zend Framework)

    对于新的 CMS 我开发了一个页面模块 它允许我管理网站的树结构 每个页面都可以通过 url 访问http www example com pageslug http www example com pageslug 其中pageslug
  • 从 Zend Framework 2 中的路由获取 $_GET 参数

    Zend Framework 1 有一种非常简单的方法来解析 URL 路由并在 GET 超全局中设置找到的参数以便于访问 当然 您可以在控制器内使用 gt getParam something 但如果在 URL 中找到参数 则它是also可
  • Zend 覆盖默认视图对象

    如何覆盖 zend 框架中的默认视图对象 以便我可以拥有自定义视图对象 class Bootstrap extends Zend Application Bootstrap Bootstrap function initViewHelper
  • 在 View 中使用 Zend_Acl 来显示/隐藏部分视图的方法是什么

    我想知道使用 Zend Acl 来显示 隐藏部分视图的方法是什么 我想我会的 创建一个Controller Plugin 传递登录用户 acl来查看 this gt view gt loggedInUser Zend Auth getIde
  • cron 作业和 PHP (Zend Framework) 入门

    我对 cron 作业这个主题完全陌生 所以我不知道从哪里开始学习它们 何时 为何或如何将它们与我的 Zend Framework 应用程序或一般的 PHP 一起使用 任何人都可以通过示例解释该过程 或者推荐一些好的资源来入门吗 Cron 作
  • Lucene外来字符问题

    我在使用 Zend Lucene 和 等外来字符时遇到了一些严重的问题 这些问题在创建索引和查询索引时都会出现 我已经尝试过 iso 8859 1 和 utf 8 ISO 8859 1 不起作用的查询看起来像 area sk ne 使用 Z
  • (PHP):使用 Zend_Test_PHPUnit_DatabaseTestCase 测试模型

    当我运行 PHP 单元测试时 我得到 1 Test Model Mapper TestTest testTest Argument 1 passed to PHPUnit Extensions Database DataSet Defaul
  • 如何自定义 Zend_Form 正则表达式错误消息?

    我有以下代码 postcode form gt createElement text postcode postcode gt setLabel Post code postcode gt addValidator regex false
  • Zend 框架 PDF 问题

    又是我 伙计们 我有一个小问题 Create new PDF pdf new Zend Pdf Add new page to the document page pdf gt newPage Zend Pdf Page SIZE A4 p
  • 从 Java 中提取 Lotus Notes Document 的完整 ACL

    我正在尝试找到一种方法来保存特定 Lotus Notes 文档的完整用户列表访问权限 我知道我可以从catalog nsf 获取数据库级ACL 但不能获取文档级访问权限 此外 我相信文档的 作者 字段不会列出只读访问用户 有谁知道如何获取特
  • Zend IMAP 搜索和过滤器

    我如何使用 Gmail 中的过滤器进行搜索 就像获取带有特定标签的电子邮件列表或来自特定电子邮件地址的邮件列表一样 我无法在文档中找到它 注意 我使用 oAuth 进行身份验证 我希望这与搜索无关 Gmail 上的标签实际上是 从 IMAP
  • Zend Framework Zend_Form 装饰器: 位于按钮元素内部?

    我有一个像这样创建的按钮元素 submit new Zend Form Element Button submit submit gt setLabel My Button submit gt setDecorators array Vie
  • 如何在 Zend Framework 中处理移动设备?

    我接手了一个噩梦般的项目 我正在迁移一个写得很差的站点 并慢慢地将其迁移到 Zend Framework 应用程序中 不幸的是 我没有时间做补救工作 使这变得可以忍受 也许是一个或两个模型 我现在被告知该网站很快就会有移动版本 建议是克隆旧
  • Zend Framework - 需要从视图访问 GET 参数

    我正在使用 Zend 框架 我需要的是在我的视图中构造一个 url 通常 在常规 php 代码中 我只需使用全局 GET 获取 GET 变量 然而 对于 Zend 我将其设置为清理 URI 如下所示 ac 列表 过滤器 作品 页面 2 好像
  • Zend_Cache_Backend_Sqlite 与 Zend_Cache_Backend_File

    目前我正在使用 Zend Cache Backend File 来缓存我的项目 尤其是来自外部 Web 服务的响应 我在想是否能找到将结构迁移到 Zend Cache Backend Sqlite 的一些好处 可能的优点是 文件系统有序 缓
  • 如何开始 Zend Framework 开发

    Hai 首先谢谢 我下载了 Zend 框架 C wamp zend 我将 php ini 的包含路径更改为 C wamp zend 我在我的 php 信息中看到了这个 我认为包含路径是正确的 我仍然有很多疑问 我从哪里开始在 zend 框架
  • 如何使用 Zend_Db 启用 SQL 输出到日志文件?

    我想知道 Zend Db 是否可以做到这一点 但我正在寻找类似 SQL 查询日志记录之类的东西 类似于 Hibernate 的做法 它向您显示它在日志文件中生成的 SQL 您可以使用 Zend Db Profiler 来完成此任务 教程 Z
  • 使用 InnoSetup 创建 NLog 日志文件文件夹

    我遇到一个问题 我需要我的用户能够在没有管理员权限的情况下运行我的应用程序 但同时 我需要 NLog 能够创建它的日志文件 它需要管理员权限才能在应用程序安装在同一文件夹中 我正在尝试在应用程序目录下创建一个目录 名为Logs 并给ever
  • 我是否需要破解 ZendFramework1.10.8/Doctrine1.2.2 才能生成模型?

    我已经开始阅读 zend 框架 它与 Doctrine 一起使用 并实现了一个小项目来掌握理解 我已经到了需要生成模型的地步 就像拥有一个生成脚本一样 如 Doctrine 1 2 中建议的那样 2 pdf 手册 经过几次不成功的尝试 例如
  • MVC:如何使用ajax?

    我将使用 Zend Framework MVC 实现启动一个项目 我如何使用ajax 我的意思是 我应该将所有 ajax 代码放入控制器中吗 还是进入视野 例如 我想将作者 ivan 的帖子显示在页面上 通常 我创建一个指向 posts a

随机推荐