一、yii2-adminlte-asset

adminlte一款基于bootstrap的响应模块。yii2-adminlte-asset更是一款基于yii2框架进行开发的后台主题模版。

1、安装(安装前先运行composer self-update)

composer require dmstr/yii2-adminlte-asset "2.*"等待几分钟完成后,

拷贝 vendor\dmstr\yii2-adminlte-asset\example-views\yiisoft\yii2-app 目录下面的文件到项目 backend\views, 可直接进行覆盖替换;

打开访问后台主页和登录页:

2、打开 backend\views\layouts\main.php,找到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"

二、yii2-admin权限组件

yii2-admin是一个基于yii2的权限管理组件,使用它可以快速搭建可视化的权限管理功能;

1、首先创建yii2的rbac数据表,数据库迁移文件在vendor\yiisoft\yii2\rbac 目录下,

yii migrate --migrationPath=@yii/rbac/migrations/

输入会会报错提示我们要添加权限组件配置:

Exception 'yii\base\InvalidConfigException' with message 'You should configure "authManager" component

打开 common\config\main.php 文件,在 components 数组中加入 authManager 组件

//authManager有PhpManager和DbManager两种方式,

//PhpManager将权限关系保存在文件里,这里使用的是DbManager方式,将权限关系保存在数据库.

"authManager" => [

"class" => 'yii\rbac\DbManager',

],再次执行迁移就可以了,建立的表含义:

auth_item:用于存储角色、权限和路由;  auth_item_child:角色-权限的关联表;  auth_assignment:用户-角色的关联表

2、安装yii2-admin:

composer require mdmsoft/yii2-admin "~2.0" 相关配置:

backend\config\main.php

return [

//......

'modules' => [

'admin' => [

'class' => 'mdm\admin\Module',

],

//......

],

'aliases' => [

'@mdm/admin' => '@vendor/mdmsoft/yii2-admin',

],

'components' => [

//......

'authManager' => [

'class' => 'yii\rbac\DbManager',

'defaultRoles' => ['guest'],

],

//......

],

'as access' => [

'class' => 'mdm\admin\components\AccessControl',

'allowActions' => [

//这里是允许访问的action,不受权限控制

//controller/action

]

],

//......

]; 现在,我们访问后台任何路由都显示 403 无权限访问,为了开发方便,暂时我们先设置所有都可访问,

'allowActions' => [

//这里是允许访问的action,不受权限控制

//controller/action

'*'

]

下面可以通过浏览器访问如下地址:

/index.php?r=admin

/index.php?r=admin/route

/index.php?r=admin/permission

/index.php?r=admin/role

/index.php?r=admin/assignment 这就是yii2-admin的权限管理界面了,但是这么访问太麻烦,我们可以做一个导航管理,让有权限的路由都显示在左侧菜单;

3、menu菜单实现

首先建立一个menu表,这个表在yii2中已经为我们准备好了,直接数据迁移:

yii migrate/to m140602_111327_create_menu_table.php  --migrationPath=@mdm/admin/migrations

# m140602_111327_create_menu_table.php 是我们要执行的menu数据表,

# 在vendor\mdmsoft\yii2-admin\migrations目录下,这个每个人可能是不同的,需要自己手动修改 访问 /admin/menu 可以看到菜单管理界面;然后

打开布局文件left.php,修改相应配置,

use mdm\admin\components\MenuHelper;

use dmstr\widgets\Menu;

?>

=

Menu::widget([

'options' => ['class' => 'sidebar-menu'],

'items' => MenuHelper::getAssignedMenu(Yii::$app->user->id)

]);

?>

这样就可以通过在界面操作实现左侧导航管理;

4、menu菜单使用方法

/admin/menu/index    #这里添加导航菜单,之前先访问 /admin/menu/index将所有路由添加到表中,否则无法设置路由链接

例如:添加一个‘’角色管理‘’ 菜单,路由为 “/admin/role”

5、rbac权限使用方法

//路由设置

/admin/route/index     #访问将左侧所有路由添加到右侧,即写入路由数据,这里的路由是根据php反射机制自动显示,也可手动增加路由

//权限设置

/admin/permission/index     #添加一个权限,分配给一个路由,例如:“ 全局权限 ”,右侧加入 “ /* ”;

//角色设置

/admin/role/index     #添加一个角色,分配给该角色一个权限,例如:“ 超级管理员 ”,右侧加入上一步设置的 “ 全局权限 ”;

//角色分配

/admin     #分配给用户角色,这里会显示user表中所有用户,例如:“ admin ”,右侧加入上一步设置的角色 “ 超级管理员 ”;

6、完善配置

之前为了使用方便我们将  /backend/config/main.php,allowActions 设置为 *,现在改为正确设置:

'as access' => [

'class' => 'mdm\admin\components\AccessControl',

'allowActions' => [

//这里是允许访问的action,不受权限控制

//controller/action

'site/*',

]

],未在后台授权的用户访问相关路由都会显示403;

yii2 php反射,Yii2.0-advanced-3—为yii2添加后台模板adminlte和权限组件yii2-adm相关推荐

  1. Vue2.0 + ElementUI 手写权限管理系统后台模板(一)——简述

    简介 这个权限管理就是为了方便,跟系统安全真的不沾边,只是根据后台返回的角色信息来生成他可以看见的菜单和按钮,显示菜单的方法是根据权限删除掉路由表里没有权限的路由,然后再动态添加,原本包含没有访问权限 ...

  2. Vue2.0 + ElementUI 手写权限管理系统后台模板(三)——页面搭建

    框架布局 本章只介绍基础布局,和一些主要的js,页面上基本上都是些交互事件,项目代码上都有注释,不懂的地方debug跑一变就知道了,只是这些事件基本上没有独立存在的,相互之间都有关联 框架风格 新建页 ...

  3. Yii2.0 后台UI框架以及权限管理扩展实现权限菜单管理

    Yii2.0 后台UI框架以及权限管理扩展实现权限菜单管理 一.安装后台框架ui 二.安装权限管理扩展 三.实现权限菜单管理 一.安装后台框架ui composer require dmstr/yii ...

  4. yii2 后台权限验证获取用户身份_Yii2搭建后台并实现rbac权限控制完整实例教程...

    1.安装yii2 未安装的请参考yii2史上最简单式安装教程,没有之一 已安装的请继续看下一步操作 2.配置数据库 2.1 配置数据库 修改common/config/main-local.php 实 ...

  5. yii2搭建完美后台并实现rbac权限控制实例教程

    作者:白狼 出处:http://www.manks.top/yii2_fra... 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权 ...

  6. Yii2搭建后台并实现rbac权限控制完整实例教程

    分享到 一键分享 QQ空间 新浪微博 百度云收藏 人人网 腾讯微博 百度相册 开心网 腾讯朋友 百度贴吧 豆瓣网 搜狐微博 百度新首页 QQ好友 和讯微博 更多... 百度分享 photoshop教程 ...

  7. 《PowerShell 3.0 Advanced Admin handbook》已于今日上市

    工作之余与埃及MVP Sherif Talaat合著的全英文书籍<PowerShell 3.0 Advanced Admin handbook>于今日由Packt Publishing正式 ...

  8. Spring3.2.0-mybatis3.2.0 基于全注解搭建的后台框架-基础版

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: Spring3.2.0-mybatis3.2.0 基于全注解搭建的后台框架-基础版 没有什么不可能  之前一直用的是自 ...

  9. 心怡哇1.0.版本一个女生的网站xinyiwa模板 ,WordPress主题1.0女性资讯模板主题

    介绍 心怡哇1.0.版本一个女生的网站xinyiwa模板,WordPress<心怡哇>女性资讯模板主题,本模板专注女性资讯,界面简单大方,栏目分明. 目前是1.1基础版(原1.0版作废). ...

最新文章

  1. 阿里发布2019十大科技趋势:AI依然最热
  2. android点滴(25)之 original-package
  3. Struts2.3.4.1+Spring3.2.3+Hibernate4.1.9整合
  4. 详解DPoS共识算法
  5. OpenCV iOS-图像处理
  6. 详解分布式协调服务 ZooKeeper
  7. python pp模块_Python模块--Pexpect
  8. Win7系统打开摄像头提示“请检查装置连接状况”怎么办
  9. python程序框架_Python 程序构架浅析
  10. Fragment的知识总结
  11. R 保存包含中文的 eps 图片--showtext
  12. 目录_视觉SLAM十四讲_0
  13. 【优化覆盖】基于matlab模因算法求解集群无线传感器网络中节能覆盖控制优化问题【含Matlab源码 1563期】
  14. uCharts 图表
  15. DEV GridView同时多列排序,附上排序列是实体解决右击没有排序箭头的问题
  16. 软件系统上线前演示剧本
  17. Mac电脑无法从Photoshop 2020作为插件访问DeNoise AI的解决办法
  18. docker卸载mysql_Docker卸载镜像
  19. thread ‘<unnamed>‘ panicked at ‘assertion failed: `(left == right)`
  20. android 为什么不调用onDestroy方法关闭activity

热门文章

  1. MySQL两千万数据优化迁移
  2. Java图片处理(二)图片加水印
  3. 额,你在main.xml中加了一个id以后,要右键点save,才会将这个id加入到R中,否则是没有的。。。R里的东西是程序自动生成的~~~...
  4. 配置管理小报100329:脚本中ftp命令无法自动输入密码怎么办?
  5. Java的静态域以及封装性相关
  6. RoHS、无铅制程、无卤 的基本介绍
  7. 李倩星r语言实战_《基于R的统计分析与数据挖掘》教学大纲
  8. 怎么理解python语言_Python语言入门1-理解Python语言
  9. mysql类型说明_MYSQL 数据类型说明
  10. acl在内核里的位置_Linux 进程在内核眼中是什么样子的?