yii2.0 引入权限控制插件
权限控制:"mdmsoft/yii2-admin": "~2.0"
教程:http://www.cnblogs.com/zyf-zhaoyafei/p/5825455.html
1.下载yii-admin
php composer.phar require mdmsoft/yii2-admin "~2.0"
2.coupon
CREATE TABLE `coupon_user_profile` (
`id` int() NOT NULL AUTO_INCREMENT,
`user_id` int() NOT NULL,
`email` char() NOT NULL,
`username` char() NOT NULL,
`province` char() NOT NULL,
`phone_number` char() NOT NULL,
`user_group_id` char() NOT NULL,
`status` int() DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=utf8;
(1)配置中加入yii-admin的配置项
coupon\backend\config\main.php
'modules' => [
'admin' => [
'class' => 'mdm\admin\Module',
'layout' => 'top-menu', //yii2-admin的导航菜单
//分配控制器配置
'controllerMap' => [
'assignment' => [
'class' => 'mdm\admin\controllers\AssignmentController',
'userClassName' => 'backend\models\UserProfile',
'idField' => 'id',
'usernameField' => 'username',
]
],
],
],
'aliases' => [
'@mdm/admin' => '@vendor/mdmsoft/yii2-admin',
],
'as access' => [
'class' => 'mdm\admin\components\AccessControl',
'allowActions' => [
'site/*', //允许访问的节点,可自行添加
'admin/*', //允许所有人访问admin节点及其子节点
]
],
car-retail\console\config\main.php
'components' => [
'authManager' => [
'class' => 'yii\rbac\DbManager',
],
],
(2)配置数据库权限表
yii migrate --migrationPath=@yii/rbac/migrations
yii migrate --migrationPath=@mdm/admin/migrations
(3)进行菜单控制
coupon\backend\views\layouts\main.php
//var_dump(Yii::$app->user->id);exit;
//var_dump(MenuHelper::getAssignedMenu(Yii::$app->user->id));
/***************************************************************/
if (Yii::$app->user->isGuest) {
$menuItems[] = ['label' => 'Login', 'url' => ['/site/login']];
} else {
$menuItems[] = '<li>'
. Html::beginForm(['/site/logout'], 'post')
. Html::submitButton(
'退出 (' .Yii::$app->user->identity->profile->user_group_id. ' : ' .Yii::$app->user->identity->profile->username . ')',
['class' => 'btn btn-link']
)
. Html::endForm()
. '</li>';
}
echo Nav::widget([
'options' => ['class' => 'navbar-nav navbar-right'],
'items' => $menuItems,
]);
//这里我们对一开始写的菜单menu进行了优化
echo Nav::widget(
[
"encodeLabels" => false,
"options" => ['class' => 'navbar-nav navbar-right'],
"items" => MenuHelper::getAssignedMenu(Yii::$app->user->id),
]
);
(4)对分配模块进行修改
coupon\vendor\mdmsoft\yii2-admin\controllers\AssignmentController.php
coupon\vendor\mdmsoft\yii2-admin\views\assignment\view.php
yii2.0 引入权限控制插件的更多相关文章
- Yii2.0 引入外部js css
<script src="<?= Yii::$app->request->baseUrl . '/js/jquery-2.1.1.min.js'?>" ...
- yii2.0 引入autoload.php提示Operation not permitted
open_basedir()配置下就可以了.比如目录是/www/ad/web/yii/就在/usr/local/nginx/conf/fastcgi.conf里面修改下配置 opendir=/www/ ...
- Vue-Access-Control:前端用户权限控制解决方案
原文地址:http://refined-x.com/2017/11/28/Vue2.0用户权限控制解决方案/ Vue-Access-Control是一套基于Vue/Vue-Router/axios 实 ...
- Java利用Mybatis进行数据权限控制
权限控制主要分为两块,认证(Authentication)与授权(Authorization).认证之后确认了身份正确,业务系统就会进行授权,现在业界比较流行的模型就是RBAC(Role-Based ...
- yii2.0权限控制 ACF权限
ACF是一种通过yii\filters\AccessControl类来实现的简单授权 有两种角色 ?:未经认证的游客用户 @:已认证的用户 ACF可同过对角色设置权限控制访问 1)记得引入yii\fi ...
- yii2搭建完美后台并实现rbac权限控制案例教程
作者:白狼 出处:www.manks.top/article/yii2_frame_rbac_template 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连 ...
- yii2搭建完美后台并实现rbac权限控制实例教程
1.安装yii2 未安装的请参考yii2史上最简单式安装教程,没有之一 或者参考yii2实战教程之详细安装步骤 已安装的请继续看下一步操作 2.配置数据库 2.1 配置数据库 修改common/con ...
- python 全栈开发,Day108(客户管理之权限控制,客户管理之动态"一级"菜单,其他应用使用rbac组件,django static文件的引入方式)
一.客户管理之权限控制 昨天的作业,有很多不完善的地方 下载代码,基本实现权限验证 https://github.com/987334176/luffy_permission/archive/v1.2 ...
- YII2中使用RBAC对模块,控制器,方法的权限控制以及规则的使用
在使用YII2中自带的RBAC时,需要先配置config/web.php: return [ // ... 'components' => [ 'authManager' => [ 'cl ...
随机推荐
- 【转】bug management process
What is Bug? A bug is the consequence/outcome of a coding fault What is Defect? A defect is a variat ...
- elk单机安装部署
es 下载地址:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.0-linux-x86_64.t ...
- C语言入门---第九章 C语言指针
没学指针就是没学C语言! 指针是C语言的精华,也是C语言的难点. 所谓指针,也就是内存的地址,所谓指针变量,也就是保存了内存地址的变量.不过人们往往不会区分两者的概念,而是混淆在一起使用. ===== ...
- Linux内核5.4正式将华为EROFS超级文件系统合入主线
导读 近期,Linux内核5.4系列宣布全面可用,添加了许多新功能,更强的安全性和更新的驱动程序,以提供更好的硬件支持.Linux内核5.4增加对微软exFAT文件系统的支持,另外还支持内核锁定功能, ...
- Spark教程——(7)编写spark-sql程序读取HBase定时生成报表
plugin划红线报错: maven-scala-plugin maven-shade-plugin 查找Maven仓库,发现一个没有jar包,一个jar包无法解压缩打开,删除Maven中坏的jar包 ...
- linux用户权限、系统信息相关命令(待学)
用户权限相关命令 目标 用户 和 权限 的基本概念 用户管理 终端命令 组管理 终端命令 修改权限 终端命令 01.用户和权限的基本概念 1.1 基本概念 用户 是Linux系统工作中重要的一环, 用 ...
- java中内部类的实例化
- 对于在MYSQL_WorkBench中创建新表时对PK NN UQ B UN ZF AI的理解
1.PK(primary key 主键) 当某项属性勾选了该功能时,该属性会作为与其他对象区别的凭证.例如我们的学号 每个人在本校都是唯一的,但姓名是可能相同的.所以学号就具有主键功能 2.NN(no ...
- 你知道HTTP协议的ETag是干什么的吗?
前言 在HTTP1.1规范中,新增了一个HTTP头信息:ETag.对于普通开发者来说,可能平时真的不会接触到该HTTP头.平时接触不到或者说用得少,不代表这个请求头不重要.ETag使用得当,是可以减少 ...
- python对ASC码的加减
一般使用这两个函数 sum = ord('A') //结果为65 ord()函数返回值是int 字符要加' '否则会当作变量来看 sum = chr(65) //结果为A 不是char是chr()