gpt4 book ai didi

zend-framework - Zend Framework ACL 角色和模块

转载 作者:行者123 更新时间:2023-12-04 06:49:28 27 4
gpt4 key购买 nike

我正在尝试使用 ACL 区分我的管理模块中的索引 Controller 和索引操作以及我的默认模块中的索引 Controller 和索引操作。

我希望登录用户能够访问默认模块的索引 Controller ,但根本不能访问管理模块。无论我尝试什么,如果我允许访问默认模块的索引,管理模块索引也可用。

如有任何建议,我们将不胜感激。谢谢

最佳答案

将您的资源定义为module-controller 并将权限定义为action 然后您可以拥有这样的东西

...

// Default module, index controller
$this->addResource(new Zend_Acl_Resource('default-index'));
// Admin module, index controller
$this->addResource(new Zend_Acl_Resource('admin-index'));

// Allow user to access default module, index controller, index and about actions
$this->allow('user', 'default-index', array('index', 'about'));
// Allow admin to access admin module, index controller, all actions
$this->allow('admin', 'admin-index');

...

[编辑] 在你的 Controller 插件预调度中

    ...

$module = $request->getModuleName();
$controller = $request->getControllerName();
$action = $request->getActionName();
$resource = "{$module}-{$controller}";
if ($acl->has($resource)) {
if (!$acl->isAllowed($role, $resource, $action)) {
}
}
...

关于zend-framework - Zend Framework ACL 角色和模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9083829/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com