Zend Framework - 防止模型运行

时间:2013-11-19 00:30:16

标签: php zend-framework

我希望每次模型运行时都能进行安全检查。如果检查失败,那么我想阻止查询执行。我已经创建了一个扩展Zend_Db_Table_Abstract的MyWork_Model_Base,然后我的模型扩展了MyWork_Model_Base。我想我应该在init()中执行此检查;但如果模型失败,我如何阻止模型运行?

由于

1 个答案:

答案 0 :(得分:0)

已有用于此类目的的课程 - Zend_Acl

您可以创建资源(访客,授权用户,管理员),角色(访客,授权用户,管理员)并创建“acl表”。

<?php
  $acl = new Zend_Acl();
?>

创建所有necessery规则后,您可以检查是否允许用户使用此类代码运行模型:

<?php
   if ($acl->isAllowed('admin','admin-news','create')
?>

检查是否具有角色'admin'的用户在资源'admin-news'中被允许'创建'。 作为资源,您可以加入模块和控制器,操作将是最后一个参数。

应在Controller_Plugin中提供检查,您可以在其中更改运行操作。