You don't have javascript enabled. Good luck! :(

欢迎页

Welcome to Ganace's Blog


欢迎您来到Ganace 的个人博客。

在茫茫互联网的海洋里能够遇见,实在是一份不小的幸运。

诚挚地向您问候一声:您好,朋友!

这里是属于Ganace个人的隐秘小空间,记录了工作学习中遇到的知识点与灵感,以及生活中的碎碎念与吐槽突如其来的中二病尬尬的文艺时间锻炼腹肌的时刻惊喜的小发现等等。

想要在自己的平淡无奇的人生长河中留下些什么,

或者只是为了拯救老人家岌岌可危的记忆力,

仅此而已。

来到此地,分享与你。

也期待与您的再次相遇!

Share with Me


有任何的分享或者建议与吐槽,都可以Email我:ganace@foxmail.com

欢迎您的来信!

【PHP|Yii2|Yii2-Admin】关于(基于RBAC的权限管理扩展组件)Yii2-Admin的基本使用(二)

  Oct 16, 2017     Ganace     Back-end-Development

PHP
Yii2
Yii2-Admin

这里是一篇Ganace记录的关于(基于RBAC的权限管理扩展组件)Yii2-Admin的基本使用(运行使用)的文章。

运行


运行

  • 打开 /index.php?r=admin,能看到看到yii2-admin运行的默认页面(菜单中有角色、权限、路由、规则等选项卡)则表示安装Yii2-admin成功。

  • 运行报错解决地址:解决办法

使用


路由列表

  • 选择路由列表,从左侧路由列表中自动检索出的路由中选中需要控制权限的路由,按绿色的>>键添加到右侧的路由控制列表中,如需删除添加的路由,选择右侧该路由,按红色的<<键即可。

权限列表

  • 选择权限列表,点击新增权限,填写名称(如admin权限)与描述(如管理员权限),点击新增。

  • 在跳转出的admin权限页面,从自动检索出的权限路由列表中选择admin权限所允许打开的路由,按绿色的>>键添加到右侧的允许控制路由权限列表中,如需删除添加的路由或者权限,选择右侧该路由,按红色的<<键即可。

角色列表

  • 选择角色列表,点击创建角色,填写名称(如管理员)与描述(如管理员角色),点击新增。

  • 在跳转出的管理员页面,从自动检索出的权限路由列表中选择admin权限,按绿色的>>键添加到右侧的允许控制路由权限列表中,如需删除添加的路由或者权限,选择右侧该路由或权限,按红色的<<键即可。

角色分配

  • 选择角色分配,点击某用户行右侧的“眼睛”。

  • 在跳转出的该角色页面,从自动检索出的权限和角色列表中选择需要分配的角色或者权限,如管理员(角色),按绿色的>>键添加到右侧的允许控制角色权限列表中,如需删除添加的角色或者权限,选择右侧该角色或权限,按红色的<<键即可。

  • 则已经为该用户分配管理员角色,能够访问管理员角色所允许访问的路由。而未分配的用户则不能访问在在config/web.php文件中的$config[‘as access’][‘allowActions’]中列出的允许所有人访问的路由之外的所有路由。

菜单


菜单列表

  • 选择菜单列表,点击新增菜单以创建菜单。

  • 在跳转出的新增菜单页面,填写名称、排序、父级名称、路由。其中,名称不能为空;排序即为在主菜单中该菜单的排序为第几位,从0开始排序;父级名称可以填写已有的菜单中的某个菜单,父级名称填写以后,该菜单会显示在 父级菜单的下拉二级菜单中;路由必须填写路由列表中已经添加的路由全称,不能是/site/*之类包含有*的路由,应该填写类似/site/index的路由。点击新增,创建菜单。

使用菜单

  • 要按照登陆用户的权限来显示菜单,并且显示登陆用户的用户名,可以在views/layouts/main.php中,添加或者说把导航修改成如下代码
<?php
    use mdm\admin\components\MenuHelper;
    #按照登陆用户的权限来显示菜单
    $items = MenuHelper::getAssignedMenu(Yii::$app->user->id);
    $login[0] =Yii::$app->user->isGuest ? (
            ['label' => 'Login', 'url' => ['/site/login']]
        ) : (
            '<li>'
            . Html::beginForm(['/site/logout'], 'post')
            . Html::submitButton(
                'Logout (' . Yii::$app->user->identity->username . ')',
                ['class' => 'btn btn-link logout']
            )
            . Html::endForm()
            . '</li>'
        );
    $items[] = $login[0];
    NavBar::begin([
        'brandLabel' => 'Ganace',
        'brandUrl' => Yii::$app->homeUrl,
        'options' => [
            'class' => 'navbar-inverse navbar-fixed-top',
        ],
    ]);    
    echo Nav::widget([
        'options' => ['class' => 'navbar-nav navbar-right'],
        'items' => $items,
    ]);
    NavBar::end();
    ?>
  • 菜单管理器会自动根据用户所拥有的角色和权限来返回菜单集合。即用户只能在导航看到自己能够访问的菜单,无访问权限的菜单会隐藏。

【Yii2|Yii2-Admin】关于(基于RBAC的权限管理扩展组件)Yii2-Admin的基本使用(一)

【Yii2|Yii2-Admin】关于(基于RBAC的权限管理扩展组件)Yii2-Admin的基本使用(三)