yii\filters\auth\HttpBearerAuth,指定一个action不是一定要验证? [ 2.0 版本 ]
一个action不是一定需要验证才能访问,有凭证的就验证登录,没有的话也可以访问,怎么搞?
共 1 个回答
-
chocoboxxf 回答于 2015-09-25 11:35 举报
在controller的behaviors中配置authenticator的时候指定except数组中的action,就不需要通过验证,代码如下。 但要实现有凭证就验证登录,没有的话也可以访问,放在同一个action感觉不是很好,根据用到的场景,不需要权限获取的资源还是单独用一个action比较好吧,个人建议。
public function behaviors() { return array_merge( parent::behaviors(), [ 'authenticator' => [ 'class' => CompositeAuth::className(), 'authMethods' => [ HttpBasicAuth::className(), HttpBearerAuth::className(), QueryParamAuth::className(), ], 'except' => [ 'create', ], ], ] ); } public function actions() { return [ 'create' => [ 'class' => 'frontend\modules\v1\actions\user\CreateAction', 'modelClass' => $this->modelClass, 'checkAccess' => [$this, 'checkAccess'], 'scenario' => $this->createScenario, ], ]; }
共 1 条回复
dyllen
注册时间:2014-09-09
最后登录:2020-10-16
在线时长:48小时47分
最后登录:2020-10-16
在线时长:48小时47分
- 粉丝8
- 金钱400
- 威望80
- 积分1680