权限控制:"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 引入权限控制插件的更多相关文章

  1. Yii2.0 引入外部js css

    <script src="<?= Yii::$app->request->baseUrl . '/js/jquery-2.1.1.min.js'?>" ...

  2. yii2.0 引入autoload.php提示Operation not permitted

    open_basedir()配置下就可以了.比如目录是/www/ad/web/yii/就在/usr/local/nginx/conf/fastcgi.conf里面修改下配置 opendir=/www/ ...

  3. Vue-Access-Control:前端用户权限控制解决方案

    原文地址:http://refined-x.com/2017/11/28/Vue2.0用户权限控制解决方案/ Vue-Access-Control是一套基于Vue/Vue-Router/axios 实 ...

  4. Java利用Mybatis进行数据权限控制

    权限控制主要分为两块,认证(Authentication)与授权(Authorization).认证之后确认了身份正确,业务系统就会进行授权,现在业界比较流行的模型就是RBAC(Role-Based ...

  5. yii2.0权限控制 ACF权限

    ACF是一种通过yii\filters\AccessControl类来实现的简单授权 有两种角色 ?:未经认证的游客用户 @:已认证的用户 ACF可同过对角色设置权限控制访问 1)记得引入yii\fi ...

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

    作者:白狼 出处:www.manks.top/article/yii2_frame_rbac_template 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连 ...

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

    1.安装yii2 未安装的请参考yii2史上最简单式安装教程,没有之一 或者参考yii2实战教程之详细安装步骤 已安装的请继续看下一步操作 2.配置数据库 2.1 配置数据库 修改common/con ...

  8. python 全栈开发,Day108(客户管理之权限控制,客户管理之动态"一级"菜单,其他应用使用rbac组件,django static文件的引入方式)

    一.客户管理之权限控制 昨天的作业,有很多不完善的地方 下载代码,基本实现权限验证 https://github.com/987334176/luffy_permission/archive/v1.2 ...

  9. YII2中使用RBAC对模块,控制器,方法的权限控制以及规则的使用

    在使用YII2中自带的RBAC时,需要先配置config/web.php: return [ // ... 'components' => [ 'authManager' => [ 'cl ...

随机推荐

  1. PAT A1114 Family Property

    用并查集处理每个家庭的信息,注意标记~ #include<bits/stdc++.h> using namespace std; ; bool visit[maxn]={false}; i ...

  2. Java 代码中如何调用 第三方Api

    在代码中调用第三方API 获取数据 package com.example.demo.utils; import com.alibaba.fastjson.JSONObject; import lom ...

  3. intelliJ IDEA 全屏键盘手

    从MyEclipse到IntelliJ IDEA --让你脱键盘,全键盘操作 从MyEclipse转战到IntelliJ IDEA的经历 我一个朋友写了一篇"从Eclipse到Android ...

  4. 图论初步<蒟蒻专属文章>

    前言:    图论乃noip之重要知识点,但有点难理解 本人因此吃过不少亏 因为本人实在太弱,所以此篇乃正宗<蒟蒻专属文章> 正文:(本文仅介绍图论中的重点.难点,其余部分略将或不讲) 图 ...

  5. 130、Java面向对象之static关键字二(在没有实例化对象产生时直接操作static属性)

    01.代码如下: package TIANPAN; class Book { // 描述的是同一个出版社的信息 private String title; // 普通属性 private double ...

  6. siblings() 获取同胞元素的用法

    1. $("h2").siblings().css({"color":"red","border":"2px ...

  7. 认识iOS系统架构

    关于本文: 文章主要介绍iOS系统架构中的四层结构的内容.常用的框架.大致的功能,然后对iOS开发人员的发展提出自己的一些拙见. 一.iOS系统是基于UNIX系统,所有从系统稳定性上来说的确比其他操作 ...

  8. C++ 类构造函数 & 析构函数

    前言: 析构函数和构造函数是一对.构造函数用于创建对象,而析构函数是用来撤销对象.简单的说:一个对象出生的时候,使用构造函数,死掉的时候,使用析构函数.构造函数 和 析构函数 各有各的用途,在构造函数 ...

  9. Windows驱动开发-派遣函数

    一个简单的派遣函数格式 NTSTATUS DispatchFunction(PDEVICE_OBJECT pDeviceObject, PIRP pIrp) { //业务代码区 //设置返回状态 pI ...

  10. 新闻网大数据实时分析可视化系统项目——14、Spark2.X环境准备、编译部署及运行

    1.Spark概述 Spark 是一个用来实现快速而通用的集群计算的平台. 在速度方面, Spark 扩展了广泛使用的 MapReduce 计算模型,而且高效地支持更多计算模式,包括交互式查询和流处理 ...