gpt4 book ai didi

Symfony2 - AccessDecisionManager 使用的安全投票者的优先级设置如何?

转载 作者:行者123 更新时间:2023-12-01 12:39:48 26 4
gpt4 key购买 nike

我见过here on GitHub默认配置使用如下优先级标签:

<service id="security.access.simple_role_voter" class="%security.access.simple_role_voter.class%" public="false">
<tag name="security.voter" priority="245" />
</service>

我在 AccessDecisionManager 中找不到对这个“优先级”的任何引用。本身。
priority对决策过程有什么影响?设置有?

最佳答案

优先级较高的监听器/投票者首先被执行。
以下规则适用于监听器优先级:

priority [...]defaults to 0.

This value can be from -255 to 255, and the listenerswill be executed in the order of their priority (highest to lowest).


(见: How to create an Event Listener.)

app/config/security.yml security.access_decision_manager setting 定义了用于最终决策的策略:
security:
access_decision_manager:
strategy: affirmative # <- strategy setting
有3种策略可用:
  • unanimous - 1 个单一选民拒绝访问。
  • affirmative - 1 位单一选民授予访问权限。
  • consensus - 多数获胜。

  • (见: Changing the access decision strategy)

    选民的决定由它的 vote() 的返回值表示。方法。例子:
    use Symfony\Component\Security\Core\Authorization\Voter\VoterInterface;

    public function vote(TokenInterface $token, $post, array $attributes)
    {
    // ...

    return VoterInterface::ACCESS_GRANTED;
    }
  • VoterInterface::ACCESS_GRANTED授权将由该选民授予;
  • VoterInterface::ACCESS_ABSTAIN选民无法决定是否应授予授权;
  • VoterInterface::ACCESS_DENIED该选民将拒绝授权。

  • (见: How to use voters to check user permissions)

    关于Symfony2 - AccessDecisionManager 使用的安全投票者的优先级设置如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25969662/

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