はmodule-controller
として、あなたのリソースを定義し、action
などの特権が、あなたは、私がいることをしようとしてきたこの
...
// Default module, index controller
$this->addResource(new Zend_Acl_Resource('default-index'));
// Admin module, index controller
$this->addResource(new Zend_Acl_Resource('admin-index'));
// Allow user to access default module, index controller, index and about actions
$this->allow('user', 'default-index', array('index', 'about'));
// Allow admin to access admin module, index controller, all actions
$this->allow('admin', 'admin-index');
...
[EDIT]のようなものそして、あなたのコントローラにプラグインをpreDispatch
...
$module = $request->getModuleName();
$controller = $request->getControllerName();
$action = $request->getActionName();
$resource = "{$module}-{$controller}";
if ($acl->has($resource)) {
if (!$acl->isAllowed($role, $resource, $action)) {
}
}
...
を持つことができますありがとうございます...以下のコードは私に次のエラーを与えます... '\t \t $ acl-> add(新しいZend_Acl_Resource( 'admin-index')); \t \t $ acl-> add(新しいZend_Acl_Resource( 'default-index'))); \t \t $ acl-> deny(); \t \t \t \t $ acl-> allow( 'guest'、 'default-index'、array( 'index'))); ' ' 致命的なエラー:メッセージ「リソース 『インデックスが/Users/drewfulton/Dropbox/Websites/Parulidae/library/Zend/Acl.phpに』が見つかりません」とのキャッチされない例外「Zend_Acl_Exception」:365' –
私はセクションを追加しましたACLのコントローラプラグインのここでは、ユーザーが許可されているかどうかを確認する前に、モジュール名とコントローラ名を使用してリソースを構築する必要があります。 – Optimus
それはそうしました。あなたが提供した$リソース定義ではなく$ controllerを使用していたので、私が持っていた問題は2番目のif文にありました。すべての助けに感謝します。巨大なセーバー! –