gpt4 book ai didi

doctrine-orm - Doctrine 2 代理类破坏了 Symfony2 ACL

转载 作者:行者123 更新时间:2023-12-04 11:43:21 24 4
gpt4 key购买 nike

当尝试在具有由 init:acl 生成的 acl_classes 表中的现有条目的实体上运行 findAcl() 时,我得到一个 AclNotFoundException。

在调用 findAcl() 之前对有问题的对象使用 createAcl() 进行测试会显示 acl_classes 中相同类型的代理类的新记录,并且操作成功完成。

这似乎是错误的,代理应该是透明的,还是我遗漏了什么?

最佳答案

我只是在回答这个问题,因为我很难找到解决方案,这是我在 google 中的第一个结果。

是的,这是错误的,它是 symfony2 的一个已知错误。

Jonathan Ingram 解决了这个问题,并在不久前写了一篇关于它的帖子:
http://jonathaningram.com.au/2012/01/13/overriding-the-objectidentityretrievalstrategy-to-check-if-a-domain-object-is-a-doctrine-proxy/

他创建了自己的对象身份检索策略来覆盖默认值,并将其注册到 services.xml(参见上面的帖子)。实际上,这是一个非常简单明了的解决方案,我有点惭愧我自己没有弄清楚:)

在 symfony2.1 中这不再是问题,请参阅:https://github.com/symfony/symfony/pull/3826

关于doctrine-orm - Doctrine 2 代理类破坏了 Symfony2 ACL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7476552/

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