gpt4 book ai didi

Symfony2 如何禁用默认投票者?

转载 作者:行者123 更新时间:2023-12-04 15:42:24 25 4
gpt4 key购买 nike

我有 五个自定义选民 在我的应用和使用策略“ 共识”中。

有时我的选民不能正常工作,经过调试我找到了原因。

标准的 Symfony RoleHierarchyVoter 总是返回“1”,因此“ 授予 ”结果的总和 等于 拒绝 ” 结果的总和。所以,我需要禁用这个 Voter,因为我不使用 RoleHierarchy。

1) 如何在配置中禁用 Voter?

2)是否存在针对此问题的另一种解决方案?

非常感谢您的帮助!

更新。

所以,我创建了自己的 RoleHierarchyVoter,它总是返回 false。
这个 Voter 取代了标准 Voter,但我不确定这个解决方案是否正确。
也许还有其他解决方案?

最佳答案

所以,目前我已经通过创建 解决了这个问题。自己的 RoleHierarchyVoter ,总是 返回假 .

目前无法删除标准 RoleHierarchyVoter 的定义,因为它以优先级 TYPE_BEFORE_OPTIMIZATION 注册并在我自己的编译器之前执行。

顺便说一句,您可以在 中找到SecurityBundle/DependencyInjection/SecurityExtension.php 下一行:

private function createRoleHierarchy($config, ContainerBuilder $container)
{
if (!isset($config['role_hierarchy'])) {
$container->removeDefinition('security.access.role_hierarchy_voter');

return;
}

$container->setParameter('security.role_hierarchy.roles', $config['role_hierarchy']);
$container->removeDefinition('security.access.simple_role_voter');
}

即使我设置了 role_hierarchy: ~ , isset($config['role_hierarchy']将返回真。

此问题已报告为错误 https://github.com/symfony/symfony/issues/16358

关于Symfony2 如何禁用默认投票者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33346543/

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