Zend framework Zend Framework ACL在调用model_dbtable时无法正常工作

Zend framework Zend Framework ACL在调用model_dbtable时无法正常工作,zend-framework,frameworks,Zend Framework,Frameworks,谁呀 我想在Zend框架中解决一个问题。情况如下:我有一个indexController,我在其中放置了一个getAktGroupMailAction-我的ACL上是什么-如下所示: public function getAktGroupMail(){ $ggroup = new Application_Model_DbTable_Groups(); //return $groupN = $ggroup->getUserAktGroupMail(); } 如果

谁呀

我想在Zend框架中解决一个问题。情况如下:我有一个indexController,我在其中放置了一个getAktGroupMailAction-我的ACL上是什么-如下所示:

public function getAktGroupMail(){
    $ggroup = new Application_Model_DbTable_Groups();
    //return $groupN = $ggroup->getUserAktGroupMail();      
}
如果我没有将//字符放在单词return之前,我会收到错误消息:

致命错误:在/var/www/hobu/library/Zend/Acl.php:365堆栈跟踪:0/var/www/hobu/library/Zend/Acl.php846:Zend\u Acl->get'error'1/var/www/hobu/application/plugins/AccessCheck.php19:Zend\u Acl->isAllowed'user',error',“error”2/var/www/hobu/library/Zend/Controller/Plugin/Broker.php309:Application\u Plugin\u AccessCheck->preDispatchObjectZend\u Controller\u Request\u Http 3/var/www/hobu/library/Zend/Controller/Front.php941:Zend\u Controller\u Plugin\u Broker->\preDispatchObjectZend\u Controller\u Request\u Http 4/var/www/hobu/library/Zend/Application/Bootstrap/Bootstrap.php97:Zend_Controller_Front->dispatch 5/var/www/hobu/library/Zend/Application.php366:Zend_Application_Bootstrap_Bootstrap->run 6/var/www/hobu/public/index.php26:Zend_Application->run 7{main}下一个异常“Zend_Controller_exception”,消息为“Resource”error“not found 0/var/www/hobu/library/Zend/Acl.php846:Zend_Acl->在第312行的/var/www/hobu/library/Zend/Controller/Plugin/Broker.php中获取“error”1/va


有人能帮我吗?

您没有包含“访问检查”插件的代码,这是产生错误的原因,但我猜这是使用当前控制器/操作名称调用Zend_Acl。如果是,则underlyng问题与ACL无关。您的$groupN=$ggroup->getUserAktGroupMail正在引发异常,导致请求路由到错误控制器。由于您尚未设置名为“error”的资源,因此在检查用户是否可以访问该控制器时会生成ACL错误


我建议您修改访问检查插件,以便在控制器名称为“error”时不检查权限。这将消除ACL错误消息,并让您查看和修复潜在问题。

public function getUserAktGroupMail{$dbAdapter=Zend_Db_Table::getDefaultAdapter;$def='Y';$select=$dbAdapter->select->from'felhasznalok-csoportok',array'groupName','userId','def'->where'userId='this->getUserMail->where'def='def='Y',$def;$stmt select->query$res=$stmt->fetchAll;return$res=$result[0]['groupName']