美文网首页php
Yii2 的一些笔记

Yii2 的一些笔记

作者: 邱杉的博客 | 来源:发表于2018-10-30 15:52 被阅读0次

    behavior()方法

    behaviors()是创建权限验证必不可少的方法,相当于一个拦截器。把那些没有该权限的人应用相关的方法里;

    YII2 的授权(Authorization)

    public function behaviors()
        {
            return [
                'bootstrap' => [//启动引导的相应格式
                    [
                        'class' => 'yii\filters\ContentNegotiator',
                        'formats' => [
                            'application/json' => Response::FORMAT_JSON,
                            'application/xml' => Response::FORMAT_XML,
                        ],
                        'languages' => [
                            'en',
                            'de',
                        ],
                    ],
                ],
               ],
                [
                'class' => 'yii\filters\AjaxFilter',//验证允许ajax执行的动作
                'only' => ['index'],
                'errorMessage'=>'Request must be XMLHttpRequest.'//当请求不是ajax请求是输出错误信息
    
                ],
                'access' => [    //behavior中的验证是否允许访问的认证类
                    'except'=>['login'],//login不进行访问验证
                    'only' => ['*'],//设置验证的动作方法‘*’,代表全部验证。
                    #'only'=>['index','check','Add','confirm','del']//也可以写成这样
                    'rules' => [//我们的验证规则,以数组形式,每一个数组代表一个验证规则
                        [
                            'allow' => false,//不允许
                            'roles' => ['?'],//?代表游客, @代表登录用户 如果为空,代表普遍适用。
                            'actions' => ['index']//设置验证的方法,因为这里的allow为false所以actions的方法都不能被游客访问。
                             'denyCallback'=>function($rule,$action)
                            {
                                return $this->redirect(['product/index']);
                            },//如果被拒绝访问,则会执行该匿名方法,该匿名方法可以获取两个值,$rule.$action 
                            'ips'=>'192.168.*'//表示该规则适用于192.168这个ip段,如为空则表示全部都适用
    
                        ],
                        [
                            'allow' => true,
                            'actions' => ['index', 'check', 'Add', 'Confirm'],
                            'roles' => ['@']
                        ]
                    ]
                ]
            ];
        }
    

    相关文章

      网友评论

        本文标题:Yii2 的一些笔记

        本文链接:https://www.haomeiwen.com/subject/gvvgtqtx.html