1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        yii2-rest-rbacYii2 權限管理 RBAC rest 接口

        聯(lián)合創(chuàng)作 · 2023-09-19 07:16

        yii2-rest-rbac是權限系統(tǒng)Yii2的rest版

        • 安裝:
        composer require windhoney/yii2-rest-rbac

        使用

        配置oauth2和rbac

           'modules' => [
                'rbac' => [
                    'class' => 'wind\rest\modules'
                ],
                'oauth2' => [
                    'class' => 'filsh\yii2\oauth2server\Module',
                    'tokenParamName' => 'access_token',
                    'tokenAccessLifetime' => 3600 * 24,
                    'storageMap' => [
                        'user_credentials' => 'backend\models\User',
                    ],
                    'grantTypes' => [
                        'user_credentials' => [
                            'class' => 'OAuth2\GrantType\UserCredentials',
                        ],
                        'client_credentials' => [
                            'class' => 'OAuth2\GrantType\ClientCredentials',
                        ],
                        'refresh_token' => [
                            'class' => 'OAuth2\GrantType\RefreshToken',
                            'always_issue_new_refresh_token' => true
                        ],
                        'authorization_code' => [
                            'class' => 'OAuth2\GrantType\AuthorizationCode'
                        ],
                    ],
                     'components' => [
                        'request' => function () {
                            return \filsh\yii2\oauth2server\Request::createFromGlobals();
                        },
                        'response' => [
                            'class' => \filsh\yii2\oauth2server\Response::class,
                        ],
                    ],
                ]
            ],
            'components' => [
                'authManager' => [
                    'class' => 'wind\rest\components\DbManager', //配置文件
                ],
            ]

        配置權限

            'as access' => [
                'class' => 'wind\rest\components\AccessControl',
                'allowActions' => [
                    'site/*',//允許訪問的節(jié)點,可自行添加
                    'rbac/menu/user-menu',
                    'oauth2/*',
                ]
            ],

        創(chuàng)建所需要的表

        1. 用戶表user和菜單表menu

        yii migrate --migrationPath=@vendor/windhoney/yii2-rest-rbac/migrations

        2. rbac相關權限表

        yii migrate --migrationPath=@yii/rbac/migrations/
        auth_item 表添加一個字段 parent_name varchar(30) COLLATE utf8_unicode_ci DEFAULT '' COMMENT '父級名稱',

        3. oauth2相關表

        yii migrate --migrationPath=@vendor/filsh/yii2-oauth2-server/migrations

        4. 新增分組表

        CREATE TABLE `auth_groups` (
          `group_id` varchar(50) NOT NULL COMMENT '分組id',
          `group_name` varchar(100) NOT NULL DEFAULT '' COMMENT '分組名稱',
          `group_status` varchar(50) NOT NULL DEFAULT '' COMMENT '狀態(tài)(開啟,關閉)',
          PRIMARY KEY (`group_id`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='分組';
        CREATE TABLE `auth_groups_child` (
          `id` int(11) NOT NULL AUTO_INCREMENT,
          `group_id` varchar(50) NOT NULL COMMENT '分組id',
          `user_id` varchar(64) NOT NULL COMMENT '用戶id',
          PRIMARY KEY (`id`),
          UNIQUE KEY `group_id_2` (`group_id`,`user_id`),
          KEY `group_id` (`group_id`),
          KEY `user_group_id` (`user_id`) USING BTREE
        ) ENGINE=InnoDB AUTO_INCREMENT=795 DEFAULT CHARSET=utf8 COMMENT='分組子集';

        添加路由配置

        • 將yii2-rest-rbac/example/rbac_route.php文件內(nèi)容配置到項目的urlManager的rules規(guī)則下
        • 或者在main.php文件中 添加
        $dir = __DIR__ . "/route";
        $main = wind\rest\helper\RbacHelper::addRoute($dir, $main);
        return $main;
        并將此文件放到config/route/rbac_route.php

        接口文檔參考

        瀏覽 28
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            爆操小姐姐 | 偷拍亚洲色图 | 国产又粗又大又硬又长又爽视频 | 麻豆传媒国产卡一区二区视频在线观看 | 欧美精品综合 | 女人高潮天天躁夜夜躁 | 日本xxxx在线 | 人妻少妇无码精品 | 一级a性色生活片久久无 | 午夜精品成人 |