问题
嗨,我是 Zend Framework 1 的新手(我知道有一个版本 2,但我们需要为这个项目使用版本 1)所以不知道这是否是一个愚蠢的问题。除此之外,我发现很难找到关于注册和登录的好文档,我设法拥有一个带有 ACL 和 Auth 的系统,可以正常工作。
我只是想知道我的 ACL 是否正确。这就是我的班级现在的样子:
类 bckstg_Acl 扩展 Zend_Acl { public function __construct() {
$this->addRole(new Zend_Acl_Role('guest')); $this->addRole(new Zend_Acl_Role('user'), 'guest'); $this->addRole(new Zend_Acl_Role('admin'), 'user'); $this->add(new Zend_Acl_Resource('error::error')); $this->add(new Zend_Acl_Resource('auth::login')); $this->add(new Zend_Acl_Resource('auth::register')); $this->add(new Zend_Acl_Resource('auth::logout')); $this->add(new Zend_Acl_Resource('data::render')); $this->add(new Zend_Acl_Resource('index::index')); $this->add(new Zend_Acl_Resource('admin::index')); $this->add(new Zend_Acl_Resource('auth::noauth')); //$this->allow('guest', 'error', 'error'); $this->allow('guest', 'auth::noauth'); $this->allow('guest', 'auth::login'); $this->allow('guest', 'data::render'); $this->allow('guest', 'index::index'); $this->allow('guest', 'auth::register'); $this->allow('user', 'auth::logout'); $this->allow('admin', 'admin::index'); } }
问题
我注意到如果我不向资源添加新控制器,则 3 种用户类型(访客、用户或管理员)都无法看到该页面。但我想知道是否有办法说所有用户都可以看到所有内容?因为基本上我只需要拒绝客人我的应用程序的“喜欢”系统以及管理面板的用户和客人,除此之外他们可以看到所有页面。