4
我想爲不同的模塊設置不同的訪問。爲不同的模塊設置不同的訪問
我嘗試了
$this->allow($role, $module, $controller, $action);
或
$this->allow($role, $module . ':' . $controller, $action);
但這似乎並沒有工作。
任何想法??
我想爲不同的模塊設置不同的訪問。爲不同的模塊設置不同的訪問
我嘗試了
$this->allow($role, $module, $controller, $action);
或
$this->allow($role, $module . ':' . $controller, $action);
但這似乎並沒有工作。
任何想法??
要設置ACL正確,您需要定義角色,資源和權限。
E.g.
$this->addRole(new Zend_Acl_Role('guests'));
$this->add(new Zend_Acl_Resource('default'))
->add(new Zend_Acl_REsource('default:index'), 'default');
$this->allow('guests', 'default:index', array('index', 'error'));
這是一個基於模塊的結構。所以首先你定義一個角色。然後你定義默認的模塊資源。 Index是IndexController。最後,設置訪客類型的用戶應該能夠以數組身份訪問的操作。
您問題中的第二行代碼似乎沒問題,所以在其他地方可能會出現問題。檢查出一些資源:
文檔:Zend_Acl
如何:Zend Framework 1.8 tutorial 5 zend_acl with zend_auth and controller plugin
感謝名單,但我有概率呢!在我的proj中有大約100個controll,通過你的方式,我必須添加所有這些代碼' - > add(new Zend_Acl_REsource('default:index'),'default');'因爲我正在檢查當前($ this - > _ acl-> isAllowed($ this - > _ currentRole,$ this - > _ module。':'。$ this - > _ controller,$ this - > _ action))**或者** if($ this - > _ acl-> isAllowed($ this - > _ currentRole,$ this - > _ controller,$ this - > _ action))**這太棒了! – afsane 2011-04-17 09:33:45
是的,當你想控制權限時,你必須在我的答案中定義它。你可以在如何設置一個類似於描述的acl庫 – 2011-04-17 09:45:56