php - Zend_Acl : Using a database for persistance, 序列化 acl 对象还是使用特殊模式更好?

标签 php zend-framework symfony1 acl

我需要实现 Zend_Acl 组件。我在文档中读到 Zend_Acl 对象可以使用 PHP 的序列化函数进行序列化。我的应用程序将有很多角色、规则和资源。我需要创建一个后端来配置所有这些东西。

我的问题是:在这种情况下,序列化 ACL 对象更好,还是创建一个架构来将角色、规则和资源保存在三个不同的表中更好?我的猜测是第一个选项,因为 Zend_Acl 组件已经具有添加/删除规则的方法,它自己处理每种类型对象的继承,并且可以查询 ACL。但我想听听以前遇到过这种情况的人的意见,这样我就不会在没有询问的情况下做出重大错误:)

谢谢!

最佳答案

无论它有多大或多复杂,您都需要首先创建模式,然后通过扩展类来实现 Zend_Acl,覆盖 allow()deny () 方法,并将权限架构的 CRUD 放入其中,然后将调用传递给 parent::allow()parent::deny() 分别。

构建 ACL 需要一些时间,但您可以使用 Zend_Cache 对其进行缓存。使用这种方法,您的 ACL 将与您的架构保持同步。

关于php - Zend_Acl : Using a database for persistance, 序列化 acl 对象还是使用特殊模式更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4557160/

相关文章:

php - 将变量中存储的值与 php 中的 mysql 字段值进行比较

php - MySQL 存储过程 : Unknown column 'Table_Name' in 'field list'

PHP:字符串在特殊字符处中断

php - 是否可以在自定义模块内显示magento产品列表 block

ubuntu - Symfony 应用程序不发送邮件(邮件未送达)

php - 在 SQL 的 WHERE 中排序

database - Zend 与现有的 Propel ORM

PHP - 如何确定 X-Sendfile 是否可用并已安装?

php - 为什么 PHP 不写入 MySQL 服务器?

api - 使用 Zend Framework PHP 从 youtube 视频中获取喜欢/不喜欢