Yii2 的一些笔记

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' => ['@']
                    ]
                ]
            ]
        ];
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容