<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          yii2-rest-rbacYii2 權(quán)限管理 RBAC rest 接口

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

          yii2-rest-rbac是權(quán)限系統(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', //配置文件
                  ],
              ]

          配置權(quán)限

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

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

          1. 用戶表user和菜單表menu

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

          2. rbac相關(guān)權(quán)限表

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

          3. oauth2相關(guān)表

          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)(開啟,關(guān)閉)',
            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)容配置到項(xiàng)目的urlManager的rules規(guī)則下
          • 或者在main.php文件中 添加
          $dir = __DIR__ . "/route";
          $main = wind\rest\helper\RbacHelper::addRoute($dir, $main);
          return $main;
          并將此文件放到config/route/rbac_route.php

          接口文檔參考

          瀏覽 28
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  牛牛影视av | 亚洲AV无MM码性色AV无码网站HMM | 久久视频欧美 | 日韩无码一级片 | 天天日天天拍 |