yii2-搭建实现RBAC权限控制:yii2-adminlte-asset / 菜单栏(拓展篇)

(一)安装扩展组件:yii2-adminlte-asset

           描述:我们搭好的项目是没办法直接支持左侧菜单栏的样式的。需要我们去找样式或者直接用组件来安装,这里我们选择了yii2-adminlte-asset

           安装流程:

           ①  到项目根目录,命令行执行:composer require dmstr/yii2-adminlte-asset "2.*" 即可。

           ②  待安装完毕,将 vendor\dmstr\yii2-adminlte-asset\example-views\yiisoft\yii2-app 目录下面的文件到项目 backend\views

           ③  下面上对比图(左图是未安装前,右图是安装后)

                yii2-搭建实现RBAC权限控制:yii2-adminlte-asset / 菜单栏(拓展篇)_第1张图片            yii2-搭建实现RBAC权限控制:yii2-adminlte-asset / 菜单栏(拓展篇)_第2张图片

        ④  通过修改body的class可以来调整主题

//主要是这几种样式,挑这看自己喜欢的就行
"skin-blue","skin-black","skin-red","skin-yellow","skin-purple","skin-green","skin-blue-light","skin-black-light","skin-red-light","skin-yellow-light","skin-purple-light","skin-green-light"

 

(二)结合前面所学的权限控制,把左侧菜单栏真正实现由角色来区分显示(替换掉Menu的静态显示)

 $menu['name'],
                'url' => [$menu['route']],
            ];
            //处理我们的配置
            if ($data) {
                //visible
                isset($data['visible']) && $return['visible'] = $data['visible'];
                //icon
                isset($data['icon']) && $data['icon'] && $return['icon'] = $data['icon'];
                //other attribute e.g. class...
                $return['options'] = $data;
            }
            //没配置图标的显示默认图标
            (!isset($return['icon']) || !$return['icon']) && $return['icon'] = 'fa fa-circle-o';
            $items && $return['items'] = $items;
            return $return;
        };

        echo dmstr\widgets\Menu::widget( [
            'options' => ['class' => 'sidebar-menu tree', 'data-widget'=> 'tree'],
            'items' => \mdm\admin\components\MenuHelper::getAssignedMenu(Yii::$app->user->id, null, $callback),
        ] );
?>

           整个权限配置的大致逻辑理下: 先配置路由-> 再添加角色/配置角色权限->赋予用户某个角色(菜单那边也要填好路由,这样不同的用户进来显示的菜单栏就自然而然不一样了)

 

你可能感兴趣的:(PHP,Yii)