操作和页面的权限

时间:2011-07-08 07:59:47

标签: zend-framework permissions

使用Zend_Acl时,只对特定模块/控制器/操作进行权限检查...现在,当我有页面的自定义URL时,并非所有页面都有自己的mdouel / controller / action。我希望人们看到一些页面,但不是全部,Zend_Acl没有办法做到这一点,对吗? 那么我应该为页面创建一个新的权限系统吗?

2 个答案:

答案 0 :(得分:1)

Zend_Acl将处理访问控制所需的一切。您的工作是定义资源和特权。这意味着您可以为任何请求添加权限。听起来你有一个ACL算法,你从ZF手册或其他一些地方在线复制,你试图坚持,就好像它是一个标准。 Zend_Acl从不说你必须坚持他们的方法。

现在,你的问题。由于每个页面都有相同的module/controller/action,因此您应将其视为一个资源,然后您可以根据您提到的自定义网址的参数定义页面级权限。

简单地说,你可以这样做:

$acl->allow('role', 'Module:Controller:Action', array('UrlParams'));

不要忘记,Zend_Acl::allow是基于资源和权限的非module/controller/action。见下文:

$acl->allow('role','resource',array('privileges'));

答案 1 :(得分:0)

因此,请检查所有控制器操作的权限:

$this->allow('userGroup', 'controller');

以这种方式只检查权限并专门检查单个控制器操作:

$this->allow('userGroup', 'controller', 'action');

我希望查看帮助