zoukankan      html  css  js  c++  java
  • 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(11) NOT NULL AUTO_INCREMENT,
      `user_id` int(11) NOT NULL,
      `email` char(100) NOT NULL,
      `username` char(100) NOT NULL,
      `province` char(100) NOT NULL,
      `phone_number` char(11) NOT NULL,
      `user_group_id` char(11) NOT NULL,
      `status` int(10) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=80 DEFAULT CHARSET=utf8;

    (1)配置中加入yii-admin的配置项

    couponackendconfigmain.php

          'modules' => [
                'admin' => [
                    'class' => 'mdmadminModule',
                    'layout' => 'top-menu',         //yii2-admin的导航菜单
                    //分配控制器配置                
                    'controllerMap' => [
                         'assignment' => [
                                'class' => 'mdmadmincontrollersAssignmentController',
                                'userClassName' => 'backendmodelsUserProfile', 
                                'idField' => 'id',
                                'usernameField' => 'username',
                         ]
                    ],               
                ],
        ],    
        'aliases' => [
                '@mdm/admin' => '@vendor/mdmsoft/yii2-admin',
        ],   
        'as access' => [
                    'class' => 'mdmadmincomponentsAccessControl',
                    'allowActions' => [          
                       'site/*',        //允许访问的节点,可自行添加
                       'admin/*',      //允许所有人访问admin节点及其子节点    
                   ]
        ], 

    car-retailconsoleconfigmain.php

     'components' => [     
            'authManager' => [
                'class' => 'yii
    bacDbManager',
            ],
     ],

    (2)配置数据库权限表

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

    yii migrate --migrationPath=@mdm/admin/migrations

    (3)进行菜单控制

    couponackendviewslayoutsmain.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)对分配模块进行修改

    couponvendormdmsoftyii2-admincontrollersAssignmentController.php

    couponvendormdmsoftyii2-adminviewsassignmentview.php

       

          

  • 相关阅读:
    file is universal (3 slices) but does not contain a(n) armv7s slice error for static libraries on iOS
    WebImageButton does not change images after being enabled in Javascript
    ajax OPTION
    编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
    获取海洋天气预报
    C#线程系列教程(1):BeginInvoke和EndInvoke方法
    js控制只能输入数字和小数点
    Response.AddHeader(,)
    ManualResetEvent的理解
    Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 区别
  • 原文地址:https://www.cnblogs.com/zouke1220/p/8203782.html
Copyright © 2011-2022 走看看