【发布时间】:2011-01-27 11:23:03
【问题描述】:
模块没有acl order deny方法吗?我总是必须添加控制器和索引吗?我有一个管理模块和一个默认模块,里面有十几个控制器和三打操作,真的很烦人
我的代码是这样的
class Management_Access extends Zend_Controller_Plugin_Abstract{
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
// set up acl
$acl = new Zend_Acl();
// add the roles
$acl->addRole(new Zend_Acl_Role('guest'));
$acl->addRole(new Zend_Acl_Role('administrator'), 'guest');
// add the resources
$acl->add(new Zend_Acl_Resource('index'));
$acl->add(new Zend_Acl_Resource('error'));
$acl->add(new Zend_Acl_Resource('login'));
//admin resources
$acl->add(new Zend_Acl_Resource('destination'));
$acl->add(new Zend_Acl_Resource('home'));
$acl->add(new Zend_Acl_Resource('page'));
$acl->add(new Zend_Acl_Resource('tour'));
$acl->add(new Zend_Acl_Resource('hotel'));
有没有办法检查资源是否在acl中注册?
更新:: 我的默认模块中有八个控制器,“管理”模块中有九个控制器。
我在管理模块和默认模块中都有索引控制器。如果我添加允许访客索引,访客也可以访问管理模块中的索引页面。 admin 模块仅为管理员设置
【问题讨论】:
-
请详细说明,给我们看示例代码。
标签: zend-framework