問題
こんにちは、私は Zend Framework 1 を初めて使用するので (バージョン 2 があることは知っていますが、このプロジェクトではバージョン 1 を使用する必要があります)、これがばかげた質問かどうかわかりません。それに加えて、登録とログインに関する適切なドキュメントを見つけるのが非常に難しいことがわかりました.
私が正しいことをしているかどうか、ACL について疑問に思っています。これは私のクラスが今どのように見えるかです:
class backstg_Acl extends 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 つのユーザー タイプ (ゲスト、ユーザー、または管理者) のいずれもページを表示できないことに気付きました。しかし、すべてのユーザーが一般的にすべてを見ることができると言う方法があるかどうか疑問に思っていましたか? 基本的に、ゲストが自分のアプリの「いいね」システムを拒否し、ユーザーとゲストが管理パネルを拒否するだけでよく、さらにすべてのページを表示できるからです。