yii2.0 局部关闭csrf,让应用的回调可以post
Posted 天天搞P
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yii2.0 局部关闭csrf,让应用的回调可以post相关的知识,希望对你有一定的参考价值。
太累了不想推送教程了,明天学习
首先新建一个 Behavior
在所在应用中 components(如果没有就新建一个文件件),然后在里面新增一个行为,暂叫做 nocsrf.
<?phpnamespace mobile\components;use Yii;use yii\base\ActionEvent;use yii\base\Behavior;use yii\web\Controller;class NoCsrf extends Behavior{ public $actions = []; public $controller; public function events() { return [Controller::EVENT_BEFORE_ACTION => 'beforeAction']; } public function beforeAction($event) { $action = $event->action->id; if(in_array($action, $this->actions)){ $this->controller->enableCsrfValidation = false; } }}
然后,在控制器中use
use mobile\components\NoCsrf;
public function behaviors(){ return [ 'csrf' => [ 'class' => NoCsrf::className(), 'controller' => $this, 'actions' => [ 'notify', ] ] ];}
注意actions是指的具体的方法,比如 actionNotify ,你就协商notify 。就行了
完毕
以上是关于yii2.0 局部关闭csrf,让应用的回调可以post的主要内容,如果未能解决你的问题,请参考以下文章