上一篇文章讲解了Yii2-user的使用,主要是对用户登录注册等功能,下面要说的就是对用户权限的管理(RABC)。
yii2的访问权限默认是由自带的rbac组件在管理,需要自己编写相应的规则去实现权限管理,无图形界面。 yii2-admin是将rbac的管理可视化,只需要点几下鼠标就能设置好简单的规则。
下载安装
同样的,Yii2-admin也是用composer安装,国内安装过程出现问题的话,请参考上一篇文章;
linux下安装
php composer.phar require mdmsoft/yii2-admin "~2.0"
php composer.phar update
windos下安装
composer require mdmsoft/yii2-admin "~2.0"
composer update
配置
修改配置文件main.php:(因为我们的权限控制大多作用于前台,所以我们修改前台的配置文件)
return [
'modules' => [
'admin' => [
'class' => 'mdm\admin\Module',
'layout' => 'left-menu',//yii2-admin的导航菜单
]
...
],
...
'components' => [
...
'authManager' => [
'class' => 'yii\rbac\DbManager', // 使用数据库管理配置文件
]
],
'as access' => [
'class' => 'mdm\admin\components\AccessControl',
'allowActions' => [
'site/*',//允许访问的节点,可自行添加
'admin/*',//允许所有人访问admin节点及其子节点
]
],
];
使用Yii2-admin
经过上面几个配置,就能实现RABC的基本功能,是不是so easy!!!Yii RBAC主要提供如下功能:
http://localhost/path/to/index.php?r=admin
http://localhost/path/to/index.php?r=admin/route
http://localhost/path/to/index.php?r=admin/permission
http://localhost/path/to/index.php?r=admin/menu
http://localhost/path/to/index.php?r=admin/role
http://localhost/path/to/index.php?r=admin/assignment
http://localhost/path/to/index.php?r=admin/user
效果截图