【发布时间】:2011-05-08 12:47:59
【问题描述】:
我正在使用 zend 框架开发一个“我认为很简单”的应用程序。这是我使用 zf 的第四个应用程序,但我是第一个使用动态 ACL 的应用程序。应用程序使用标准 MVC 设置和由服务层组成的模型/域层来访问通过映射器映射的模型(popo)。对于每个模型,我都有相应的服务和映射器。我想让我的 UserModel 实现 Role 接口,然后我所有基于模型的服务都实现 Resource 接口。此外,我希望基于静态角色指定预定义的权限,但也能够根据用户的角色更改每个用户的指定权限;
例如: 我是“供应商”角色,默认情况下可以使用“创建”、“编辑”和“查看”权限访问“发票”资源。 所以我的 InvoiceService 我将成为具有创建、编辑、查看和删除方法的“发票”资源(但默认情况下,只有角色管理员可以删除发票。
对于具有供应商角色的特定用户,我希望能够授予删除权限,或者对于具有供应商角色的其他用户,我可能希望能够拒绝编辑权限。我的这种想法必须以某种方式持续存在并动态加载。
所以对于我的实际问题。 我会以错误的方式解决这个问题吗? 另外,如何使用 Zend Navigation 实现这样的解决方案?
任何想法指针课程反馈将不胜感激。
抱歉,如果我的解释一夜未眠,我做得很糟糕。
【问题讨论】:
-
听起来您对角色、资源和权限的想法是正确的。一个问题:当你问到如何使用
Zend_Navigation时,你的意思是Zend_Acl吗?查看this answer 了解有关Zend_Acl的一些想法。
标签: zend-framework acl