首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zend权限RBAC /错误调用类

Zend权限RBAC /错误调用类
EN

Stack Overflow用户
提问于 2018-09-13 15:52:02
回答 1查看 99关注 0票数 0

我正在用Zend框架3开发一个应用程序,它需要用户的角色管理。我正在使用zend-permission-rbac组件来完成这个任务。

但我一直有个错误:

/home/myhost/ppvc/module/User/src/Service/RbacManager.php:77文件:

消息:找不到类‘Zend\权限\Rbac\Rbac’

下面是堆栈跟踪的一部分,如果可以帮助的话:

  • /home/myhost/ppvc/module/User/src/Service/RbacManager.php(116):用户\服务\RbacManager->init()
  • /home/myhost/ppvc/module/User/src/Controller/Plugin/AccessPlugin.php(25):用户\服务\RbacManager->isGranted(NULL,‘user.management’,Array)
  • 内部功能: User\Controller\Plugin\AccessPlugin->__invoke('user.manage')

当我第一次安装Rbac容器时,这个错误会弹出:

代码语言:javascript
复制
  public function init($forceCreate = false)
{
    if ($this->rbac!=null && !$forceCreate) {
        // Already initialized; do nothing.
        return;
    }

    // If user wants us to reinit RBAC container, clear cache now.
    if ($forceCreate) {
        $this->cache->removeItem('rbac_container');
    }

    // Try to load Rbac container from cache.
    $result = false;
    $this->rbac = $this->cache->getItem('rbac_container', $result);
    if (!$result)
    {
        // Create Rbac container.
        $rbac = new Rbac();
        $this->rbac = $rbac;
.....

此外,我还正确地调用了Rbac类:

代码语言:javascript
复制
use Zend\Permissions\Rbac\Rbac;

我无法解开这个错误的来源,它看起来像是供应商/zend-权限-rbac文件夹没有被应用程序“读取”。我更新了composer.json和composer.lock文件并检查了它们,我的模块被正确调用(composer.json):

代码语言:javascript
复制
"zendframework/zend-permissions-rbac": "^3.0",

我正在学习本教程:基于角色的访问控制

欢迎任何帮助!(对不起,如果我犯了错误,英语不是我的语言)

编辑:我已经检查了PHP的返回类型声明(因为Rbac模块中充满了它),但是我的版本是7.2,所以没有问题。

马克西姆

EN

回答 1

Stack Overflow用户

发布于 2021-08-19 10:20:37

要考虑的另一个选项是将权限作为单独的服务进行管理,因此,随着您的扩展和添加更多的功能策略,可以很容易地进行管理。https://cerbos.dev就是一个例子。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52317437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档