matrozov / yii2-wac-auth
整合了AccessControl的Yii2 CompositeAuth。
1.0.5
2018-04-14 15:55 UTC
Requires
- php: >=5.4.0
- yiisoft/yii2: ^2.0.0
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的后继版本,您可以在所有类似情况下使用它进行授权方法的组合。