2012-07-28 49 views
0

Hy有人!Zend Framework ACL在調用model_dbtable時無法正常工作

我有一個問題,我想在Zend Framework中解決。這種情況如下:我有一個indexController的,我在那裏放置一個getAktGroupMailAction - 什麼是對我的ACL - 喜歡這裏:

public function getAktGroupMail(){ 
    $ggroup = new Application_Model_DbTable_Groups(); 
    //return $groupN = $ggroup->getUserAktGroupMail();  
} 

如果我不把「//」字「回」字之前我收到錯誤消息:

Fatal error: Uncaught exception 'Zend_Acl_Exception' with message 'Resource 'error' not found' in /var/www/hobu/library/Zend/Acl.php:365 Stack trace: #0 /var/www/hobu/library/Zend/Acl.php(846): Zend_Acl->get('error') #1 /var/www/hobu/application/plugins/AccessCheck.php(19): Zend_Acl->isAllowed('user', 'error', 'error') #2 /var/www/hobu/library/Zend/Controller/Plugin/Broker.php(309): Application_Plugin_AccessCheck->preDispatch(Object(Zend_Controller_Request_Http)) #3 /var/www/hobu/library/Zend/Controller/Front.php(941): Zend_Controller_Plugin_Broker->preDispatch(Object(Zend_Controller_Request_Http)) #4 /var/www/hobu/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch() #5 /var/www/hobu/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run() #6 /var/www/hobu/public/index.php(26): Zend_Application->run() #7 {main} Next exception 'Zend_Controller_Exception' with message 'Resource 'error' not found#0 /var/www/hobu/library/Zend/Acl.php(846): Zend_Acl->get('error') #1 /va in /var/www/hobu/library/Zend/Controller/Plugin/Broker.php on line 312

有人可以幫我嗎?

回答

0

你沒有包含你的'訪問檢查'插件的代碼,這是什麼產生的錯誤,但我猜這是什麼叫Zend_Acl使用當前的控制器/操作名稱。如果是這樣,則暗示問題不是ACL相關的。您的$groupN = $ggroup->getUserAktGroupMail()正在拋出異常,導致請求被路由到錯誤控制器。由於您尚未設置稱爲「錯誤」的資源,因此在檢查用戶是否可以訪問該控制器時會生成ACL錯誤。

我建議你修改你的訪問檢查插件,所以它不檢查權限,如果控制器名稱是'錯誤'。這應該擺脫您的ACL錯誤信息,並讓您看到並解決基本問題。

+0

但它完美地運行,無需ACL ... – user1560141 2012-07-28 21:44:24

+0

公共職能getUserAktGroupMail(){ \t \t $將對DBAdapter = ::的Zend_Db_Table getDefaultAdapter(); \t \t $ def ='Y'; \t \t $選擇= $ dbAdapter->選擇() - 從( 'felhasznalok-csoportok',陣列( '組名', '用戶id', '高清'))> \t \t \t \t \t \t \t \t \t - >其中( '用戶id =?',這 - $> getUserMail()) \t \t \t \t \t \t \t \t \t - >其中( '高清=?',$ DEF); \t \t \t \t $ stmt = $ select-> query(); \t \t \t \t $ result = $ stmt-> fetchAll(); \t \t return $ res = $ result [0] ['groupName']; } – user1560141 2012-07-28 21:47:52