我需要实现 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/