zend-framework - ZendFramework 应用程序中的管理部分

标签 zend-framework zend-auth zend-acl

我目前有一个使用 Zend_Auth 进行用户访问的应用程序。该网站有一个管理部分,我希望在我的数据库中具有管理员角色的用户在使用其凭据时能够访问该部分。 Zend_Acl 是执行此操作的唯一方法吗?因为这对于我想做的事情来说似乎有点复杂,或者是否有更简单的解决方案来解决我的问题?

我已经考虑过这个问题,现在我想知道是否可以有两个身份验证 Controller ,一个用于用户,一个用于我的管理部分?

最佳答案

我最近做了这样的事情。为管理模块创建一个前端 Controller 插件来检查用户凭据。像这样的东西:

class Admin_Plugin_Auth extends Zend_Controller_Plugin_Abstract
{    
    public function preDispatch(Zend_Controller_Request_Abstract $request)
    {
        if ($request->getModuleName() != 'admin'){
            return;
        }
        $auth = Zend_Auth::getInstance();
        if (!$auth->hasIdentity()){
            // send him to login
        }
        $user = $auth->getIdentity();
        if (!$user->isAdmin()){ // or however you check
            // send him to a fail page
        }
    }    
}

关于zend-framework - ZendFramework 应用程序中的管理部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10299374/

相关文章:

zend-framework - Zend_Auth 存储如何工作?

php - Zend ACL 是否适合我的需求?

php - Zend_Auth_Adapter_DbTable 和 PHP crypt

php - Zend_Form 自定义错误信息

php - bootstrap 通常如何工作,尤其是在 Zend Framework 中?

zend-framework - 商店和模型上的自定义代理似乎不一致(并且不适用于模型)

security - 访问控制列表最佳实践 - ACL - 为攻击站点的用户设置负面角色

使用 Zend Auth 和 Zend ACL 进行 PHP 单元测试

php - 当大小大于最大大小时,文件上传 + 哈希给我一个问题