Yii2 权限管理 RBAC rest 接口 yii2-rest-rbac

MIT
PHP
跨平台
2019-11-18
windhoney1

yii2-rest-rbac是权限系统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/*',//允许访问的节点,可自行添加
            'rbac/menu/user-menu',
            'oauth2/*',
        ]
    ],

创建所需要的表

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 '状态(开启,关闭)',
  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文件内容配置到项目的urlManager的rules规则下
  • 或者在main.php文件中 添加
$dir = __DIR__ . "/route";
$main = wind\rest\helper\RbacHelper::addRoute($dir, $main);
return $main;
并将此文件放到config/route/rbac_route.php

接口文档参考

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

yii2干货

Docs 文档 Yii Framework 2.0 类参考手册 Yii Framework 2.0 权威指南 Yii Framework 2.0 权威指南镜像(每次github有提交时15分钟后自动更新比官方那个及时) PDF 版本的权威指南 Yii Fram...

2016/11/18 15:27
89
0
安装指南: 带有 RBAC 的 Yii2 高级模板

在这里我介绍一种快速简单的方法来在 Yii2 高级模版中安装 RBAC(Role Based Access Control) 系统

2016/11/10 09:34
267
0
yii2使用magrate新增权限流程

yii2使用magrate新增权限流程: 1、到项目根目录(必须是项目环境中,如我的是在虚拟机中:[root@localhost crm]# php ./yii migrate/create user_rbac)执行指令:php ./yii migrate/create ...

2019/08/28 14:11
25
0
Yii2-admin RBAC权限管理的实现

yii2-admin是yii2 rbac的一套管理工具,实现了漂亮的界面和完整的权限管理功能,不用自己再去写权限代码了,使用之前请将yii2的源码更新到最新版本. git源码地址:https://github.com/mdmsoft/...

2015/06/18 13:18
49
0
Yii 2.0鉴权之RBAC(Yii2.0 Authorization By RBAC)

基于角色的访问控制提供了简单而又功能强大的集中的访问控制。 配置RBAC管理器 在定义鉴权数据并执行访问检查之前,必须先配置authManager组件。 Yii提供了两种鉴权管理器:yii\rbac\PhpMan...

2015/07/28 11:27
96
0
yii2权限控制rbac之rule详细讲解

yii2权限控制rbac之rule详细讲解

2016/06/29 15:17
244
0
Yii2 使用 .env 来配置项目环境变量

Yii2 高级版本使用命令 php init 初始化项目之后会提供类似 main.php 和 main-local.php 来区分本地和 线上的开发环境变量配置。 但是基础版没有提供此功能,那么下面我们来使用 phpdotenv ...

2016/11/17 11:27
4.8K
0
最全yii2 文档资料整理

Sites 网站 yiifeed:Yii 最新动态都在这里 yiigist:Yii 专用的 Packages my-yii:Yii 学习资料和新闻 YiiPowered:用 Yii 开发的项目案例,包括开源不开源的,包括 Yii1 和 Yii2,到目前为...

2018/05/02 09:33
109
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部