0

我的网站由 Symfony 2.7 + OroCRM 提供支持。我用 2 条新路线制作了自己的捆绑包:

  • /ipad/
  • /ipad/管理员

一切运行良好,我现在正在尝试配置安全/访问控制。现在,每个人都可以看到带有 URL 的 2 个页面。我想要的是:

  • /ipad/ 对所有人可见
  • /ipad/admin/ 仅对 ROLE_ADMIN 可见

在我的 security.yml 中,如果我添加:

security
    access_control
        [... existing rule]
        [... existing rule]
        [... existing rule]
        - { path: /ipad/admin/, role: ROLE_ADMIN }

... 2 页不可用(错误 500),日志为:

request.CRITICAL:未捕获的 PHP 异常 Symfony\Component\Security\Acl\Exception\InvalidDomainObjectException:“$domainObject 必须要么实现 DomainObjectInterface,要么有一个名为“getId”的方法。” 在 src/Oro/Bundle/SecurityBundle/Acl/Domain/ObjectIdAccessor.php 第 27 行

我不明白怎么了,你能帮忙吗?

4

2 回答 2

0

我认为您应该从 DomainObjectInterface 实现 DomanObjectEntity。

于 2017-12-22T13:47:24.040 回答
0

我找到了解决方案:我在数据库中搜索“ROLE_ADMIN”没有退出,它是“ROLE_ADMINISTRATOR”。

于 2017-12-22T14:53:20.183 回答