我注意到我的选民甚至被邀请参加SuperAdmin用户。

它按预期工作吗?

如果是的话,我认为SuperAdmin的理念是系统地拥有他们的所有权利,因此我们不必一一给予他们每个许可。在那种情况下,为什么不授予所有选民访问权呢?

我是否总是需要放

if ($user->isSuperAdmin()) {
    return VoterInterface::ACCESS_GRANTED;
}


在我的选民中?

最佳答案

IddqdVoter类中,您具有一个特殊角色,称为ROLE_IDDQD

该投票者添加了特殊角色ROLE_IDDQD,可有效绕过任何和所有安全检查(包括投票者)。

这就是您要寻找的。更多:IDDQD Voter

您甚至可以为IDDQD角色设置别名,所以我想您可以将ROLE_SUPER_ADMIN别名为ROLE_IDDQD。如果您不能这样做,只需授予ROLE_SUPER_ADMIN ROLE_IDDQD,您就可以开始了。

为了使用此特殊角色,您必须通过以下方式启用它:

#config.yml
jms_security_extra:
    enable_iddqd_attribute: true

08-25 23:39