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

       

          

  • 相关阅读:
    [Codeforces Round #617 (Div. 3)] 题解 A,B,C,D,E1,E2,F
    [Codeforces Round #611 (Div. 3)] C. Friends and Gifts (随机大法好)
    [Hello 2020] D. New Year and Conference (ST表,排序)
    [Hello 2020] C. New Year and Permutation (组合数学)
    Codeforces Beta Round #7 C. Line (扩展欧几里德)
    扩展欧几里德
    Codeforces Round #349 (Div. 2) D. World Tour (最短路)
    HDU 4052 Adding New Machine (线段树+离散化)
    HDU 3265 Posters (线段树+扫描线)(面积并)
    HDU 1828 Picture (线段树+扫描线)(周长并)
  • 原文地址:https://www.cnblogs.com/zouke1220/p/8203782.html
Copyright © 2011-2022 走看看