onix-systems-php/hyperf-policy

v1.2.0 2023-12-05 18:35 UTC

This package is auto-updated.

Last update: 2024-09-05 20:05:34 UTC


README

使用类似 Symfony 的投票者来检查权限

安装

composer require onix-systems-php/hyperf-policy

为了让它工作,你需要

  1. 基于 OnixSystemsPHP\HyperfPolicy\Policy\AbstractPolicy 创建策略类

  2. OnixSystemsPHP\HyperfPolicy\Annotation\Policy 注解添加到策略中,并设置其优先级(数字越大越先执行)

  3. 指定你的策略将与哪些类、对象和动作一起工作

  4. 指定投票逻辑,并返回一个值

    1. PolicyVote::ACCESS_DENIED - 停止执行,并在 getException 方法中抛出指定的异常
    2. PolicyVote::ACCESS_GRANTED - 允许当前操作,并跳过所有后续策略
    3. PolicyVote::ACCESS_ABSTAIN - 转到下一个策略,如果没有策略检查,则允许操作
  5. 基于 OnixSystemsPHP\HyperfPolicy\Policy\AbstractDataSpecifier 创建数据指定器类

  6. OnixSystemsPHP\HyperfPolicy\Annotation\DataSpecifier 注解添加到指定器中,并设置其优先级(数字越大越先执行)

  7. 指定你的指定器将与哪些仓库和动作一起工作