我一直在尝试在我正在开发的系统中实现ACL 有几个问题。这主要是因为完全缺乏 有关该主题的文件。如果我们能做到的话真的很棒 关于这个复杂和基本组件的更多信息。无论如何,我会 我很乐意在我理解后写点东西
无论如何,我遇到的问题如下: 1.我在Class-Field-Scope ACE中有一个角色来查看和编辑一个字段 一个对象。当我使用以下方式检查视图时: isGranted('VIEW',object,'myField')
总是假的。不应该将类范围应用于所有实例 类?我不确定这个范围是如何运作的。
有效。然后我尝试创建一个新组。该组被创建, 但ACL设置失败并显示以下错误:
注意:Project / vendor / symfony / src / Symfony /中未定义的偏移量:0 组件/安全/ Acl / Dbal / MutableAclProvider.php第850行
非常感谢任何帮助!
答案 0 :(得分:4)
编辑:我已经更新了源代码,现在它是一个更好的解决方案。
我最近一直在尝试使用ACL和Symfony2。
从我发现的这是检查class-field-scope的方式:
$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到目前为止我还不知道,我需要稍后调查一下这个问题。我希望这有帮助!
有关该主题的更多信息。可能不适合你,但对其他用户来说可能会有所帮助:Smyfony2 and ACLs
此致 雷托