栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

YII权限分配 执行检查理解 通俗易懂

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

YII权限分配   执行检查理解  通俗易懂

1.本文章在后台搭建好模板的情况下进行,

这里我一直很好奇,yii 的rbac是在哪个类去执行检查权限(判断是否该用户用本次操作权限)的,经过一番研究,自己理解的就写下来分享下。写的不好的地方话希望能评论下来。

** yii执行检查用户权限的重点是在 main.php下的配置项,

  //components数组中加入authManager组件,有PhpManager和DbManager两种方式,    
        //PhpManager将权限关系保存在文件里,这里使用的是DbManager方式,将权限关系保存在数据库.  
        "authManager" => [        
            "class" => 'yiirbacDbManager', //这里记得用单引号而不是双引号      
            "defaultRoles" => ["guest"],  
        ],  
        //这里是重点    引入AccessControl类是关键   这个类的位置我在下面会说
 	  'as access' => [
	        'class' => 'mdmadmincomponentsAccessControl',
	        'allowActions' => [
	            //这里是允许访问的action
	    	        'site/*', //允许访问的节点   设置登录界面不执行检查
	         ]
      ]

理解:yii每次执行都会先去加载配置项,所以用户是否拥有该权限在加载配置项时就完成了检查。

下面说下AccessControl类:
路径是:项目名vendormdmsoftyii2-admincomponentsAccessControl.php

一般在登录类里面使用AccessControl,
use yiifiltersAccessControl;

 public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'rules' => [
                    [
                        'actions' => ['login', 'error'],
                        'allow' => true,
                    ],
                    [
                        'actions' => ['logout', 'index'],
                        'allow' => true,
                        'roles' => ['@'],//表示登录用户才可以访问
                    ],
                ],
            ],
            'verbs' => [
                'class' => VerbFilter::className(),
                'actions' => [
                    'logout' => ['post','get'],
                ],
            ],
        ];
    }

重点:
AccessControl提供基于yiifiltersAccessControl::rules规则的访问控制,
AccessControl作用是对于用户,ip,权限规则请求做检查,
VerbFilter检查请求动作的HTTP请求方式是否允许执行, 如果不允许,会抛出HTTP 405异常。

因为yii rbac在搭建后台是都已经完成了,所以就不对后台的rbac多说了,只对执行检查权限的地方理解下,希望能帮到你。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268772.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号