matrozov/yii2-wac-auth

整合了AccessControl的Yii2 CompositeAuth。

安装次数: 1,991

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:yii2-extension

1.0.5 2018-04-14 15:55 UTC

This package is auto-updated.

Last update: 2024-09-29 04:37:15 UTC


README

整合了AccessControl的Yii2 CompositeAuth。

默认情况下,AuthMethod仅检查内部的"optional"属性以测试是否可以在未授权的情况下进入此操作。您应该在AuthMethod和AccessControl中重复访问规则。WacAuth允许您在AuthMethod授权时自动检查AccessControl中的访客访问规则。

安装

运行以下命令之一:

composer require --prefer-dist matrozov/yii2-wac-auth

使用示例

之前

$behaviors['authenticator'] = [
    'class' => HttpBearerAuth::className(),
    'optional' => ['index']
];

$behaviors['access'] = [
    'class' => AccessControl::className(),
    'only' => ['index'],
    'rules' => [
        [
            'allow' => true,
            'actions' => ['index'],
            'roles' => ['?'],
        ],
    ],
];

您为操作"index"同时指定"optional"属性和roles="?"。

之后

$behaviors['authenticator'] = [
    'class' => WacAuth::className(),
    'authMethods' => [
        HttpBearerAuth::className()
    ]
];

$behaviors['access'] = [
    'class' => AccessControl::className(),
    'only' => ['index'],
    'rules' => [
        [
            'allow' => true,
            'actions' => ['index'],
            'roles' => ['?'],
        ],
    ],
];

您将HttpBearerAuth包装在WacAuth中,现在它将自动考虑AccessControl中的roles="?"。

WacAuth和CompositeAuth

由于WacAuth是CompositeAuth的后继版本,您可以在所有类似情况下使用它进行授权方法的组合。