Symfony2 ACL问题

Symfony2 ACL问题,symfony,acl,Symfony,Acl,我一直在尝试在我正在开发和开发的系统中实现ACL 有几个问题。这主要是因为完全缺乏 关于该主题的文件。如果我们能 更多关于这个复杂和基本组件的信息。无论如何,我会的 一旦我明白了,就高兴地写点东西吧 无论如何,我遇到的问题如下: 1.我有一个Class Field Scope ACE角色来查看和编辑字段 指一个物体。当我使用此选项签入视图时: 已授予('VIEW',object',myField') 这总是假的。类作用域不应该应用于的所有实例吗 上课?我不确定这个范围是如何工作的 删除组时,我希

我一直在尝试在我正在开发和开发的系统中实现ACL 有几个问题。这主要是因为完全缺乏 关于该主题的文件。如果我们能 更多关于这个复杂和基本组件的信息。无论如何,我会的 一旦我明白了,就高兴地写点东西吧

无论如何,我遇到的问题如下: 1.我有一个Class Field Scope ACE角色来查看和编辑字段 指一个物体。当我使用此选项签入视图时: 已授予('VIEW',object',myField')

这总是假的。类作用域不应该应用于的所有实例吗 上课?我不确定这个范围是如何工作的

  • 删除组时,我希望删除与组相关的所有ACL条目 那群人。我试过这样做: $aclProvider->deleteAcl(ObjectIdentity::fromDomainObject($group))
  • 它起作用了。然后我尝试创建一个新组。组被创建, 但ACL设置失败,出现以下错误:

    注意:项目/vendor/symfony/src/symfony中未定义的偏移量:0/ Component/Security/Acl/Dbal/MutableAclProvider.php第850行


    非常感谢您的帮助

    编辑:我已经更新了源代码,这是一个更好的解决方案。

    我最近一直在尝试ACL和Symfony2

    根据我发现的这是检查类字段范围的方法:

    $post = $postRepo->findOneById(1);
    
    $securityContext = $this->get('security.context');
    $oid = new ObjectIdentity('class', 'Liip\\TestBundle\\Entity\\Post');
    
    $object = new FieldVote($oid, 'id');
    if (true === $securityContext->isGranted('EDIT', $object)){
       echo "Access to 'id' field granted";
    }else{
       echo "Access denied";
    }
    
     $object = new FieldVote($oid, 'post');
     if (true === $securityContext->isGranted('VIEW', $object))
     {
        echo "Access to 'post' field granted";
     }else{
        echo "Access denied";
     }
    
    关于删除ACL,到目前为止我还不知道,我需要在以后的某个时候研究这个问题。我希望这有帮助

    有关该主题的更多信息。可能不适合您,但对其他用户可能会有所帮助:

    问候
    Reto

    编辑:我已经更新了源代码,现在它是一个更好的解决方案。

    我最近一直在尝试ACL和Symfony2

    根据我发现的这是检查类字段范围的方法:

    $post = $postRepo->findOneById(1);
    
    $securityContext = $this->get('security.context');
    $oid = new ObjectIdentity('class', 'Liip\\TestBundle\\Entity\\Post');
    
    $object = new FieldVote($oid, 'id');
    if (true === $securityContext->isGranted('EDIT', $object)){
       echo "Access to 'id' field granted";
    }else{
       echo "Access denied";
    }
    
     $object = new FieldVote($oid, 'post');
     if (true === $securityContext->isGranted('VIEW', $object))
     {
        echo "Access to 'post' field granted";
     }else{
        echo "Access denied";
     }
    
    关于删除ACL,到目前为止我还不知道,我需要在以后的某个时候研究这个问题。我希望这有帮助

    有关该主题的更多信息。可能不适合您,但对其他用户可能会有所帮助:

    问候
    那对你没有帮助吗?请让我知道!那对你没有帮助?请让我知道!