我希望每次模型运行时都能进行安全检查。如果检查失败,那么我想阻止查询执行。我已经创建了一个扩展Zend_Db_Table_Abstract的MyWork_Model_Base,然后我的模型扩展了MyWork_Model_Base。我想我应该在init()中执行此检查;但如果模型失败,我如何阻止模型运行?
由于
答案 0 :(得分:0)
已有用于此类目的的课程 - Zend_Acl
您可以创建资源(访客,授权用户,管理员),角色(访客,授权用户,管理员)并创建“acl表”。
<?php
$acl = new Zend_Acl();
?>
创建所有necessery规则后,您可以检查是否允许用户使用此类代码运行模型:
<?php
if ($acl->isAllowed('admin','admin-news','create')
?>
检查是否具有角色'admin'的用户在资源'admin-news'中被允许'创建'。 作为资源,您可以加入模块和控制器,操作将是最后一个参数。
应在Controller_Plugin中提供检查,您可以在其中更改运行操作。