yii2-rest-rbac 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
yii2-rest-rbac 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
yii2-rest-rbac 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
yii2-rest-rbac 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
yii2-rest-rbac 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 MIT
开发语言 PHP
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
提 交 者 windhoney1
适用人群 未知
收录时间 2019-11-18

软件简介

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

接口文档参考

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2018/06/23 22:59

yii rbac

一、简介 什么是rbac ? rbac是就是基于角色的访问控制。 yii提供一套基础的底层接口,我们知道,rbac经历好几个阶段,从rbac0到rbac3,从基础的用户、角色、权限,到动态的rbac处理模式,再到现在的权限继承,解决复杂的多页面元素权限分配。 总而言之,rbac有三个特性。 1. 基础: 角色、权限、用户 三大体系。 2. 权限继承: 角色派生原则,一个角色可以派生多个低权限角色。例如:总经理 =》经理、副经理、营运等 3. 权限分...

0
0
发表了博客
2012/12/11 10:02

[Yii][RBAC]Yii中应用RBAC完全指南

开端筹办 Yii供给了强大的设备机制和很多现成的类库。在Yii中应用RBAC是很简单的,完全不须要再写RBAC代码。所以筹办工作就是,打开编辑器,跟我来。 设置参数、建树数据库 在设备数组中,增长以下内容: ‘components‘ => array( //…… ‘authManager‘=>array( ‘class‘=>‘CDbAuthManager‘,//认证类名称 ‘defaultRoles‘=>array(‘guest‘),//默认角色 ‘itemTable...

3
15
发表了博客
2012/08/22 17:42

yii rbac访问规则

Controllers(控制器):这条规则指定了一个包含多个控制器ID的数组,来指明哪些规则需要被应用。 Roles(角色):这条规则指定了一个将被规则使用的授权列表(包括角色,操作,权限等)。这些是为RBAC的一些功能服务的,我们将在下一个部分进行讨论。 Ips(IP地址):这条规则指定了一组可以被施加到规则的客户端IP地址。 Verbs(提交类型):这条规则制定了可以被施加到规则的HTTP请求类型。 Expression(表达式):这个规则指定了一个PHP...

0
1
发表于开发技能专区
2017/09/30 14:09

yii2 advanced rbac 权限管理

1.项目配置 这里说明的rbac使用的是DB ,所以打开config中main.php文件,在components里加入下面代码 'components' => [ 'authManager' => [ 'class' => 'yii\rbac\DbManager',//使用DB 数据更安全 // auth_item (role permission) // auth_item_child (role->permission) // auth_assignment (user->role) // auth_rule (rule) 'itemT...

0
1
发表了博客
2018/06/08 12:58

Yii2 基于rbac访问控制

Yii2 是一款非常强大的PHP底层框架, 牛b的人都喜欢用它, 有时候你们可能会发现, Yii2 底层处理不是很好, 比如: 每次分页, yii底层都会多统计一次数据的总条数! 那只能说你对它还不够了解! 最近在做控制器的访问控制, 发现了yii自带的基于rbac的一套底层架构, 代码如下: 1 public function behaviors() 2 { 3 return [ 4 'access' => [ 5 //yii\filter\AccessControl 6 'class' ...

0
0
2015/07/28 11:27

Yii 2.0鉴权之RBAC(Yii2.0 Authorization By RBAC)

基于角色的访问控制提供了简单而又功能强大的集中的访问控制。 配置RBAC管理器 在定义鉴权数据并执行访问检查之前,必须先配置authManager组件。 Yii提供了两种鉴权管理器:yii\rbac\PhpManager 和 yii\rbac\DbManager。 前者使用一个PHP脚本文件管理鉴权数据,而后者是把数据存储在数据库里面。 假如你的应用不需要经常变动的角色和权限管理,你可以考虑前者。 下面的代码展示了如何在应用里面配置authManager: 1 2 3 4 5 6 ...

1
0
2015/12/21 11:52

YII2 rest 风格接口

下载yii2rest程序,下载地址:https://github.com/iiYii/yii2-rest-demo 打开命令行客户端,前提是php加入环境变量。 进入YII项目目录,windows下输入yii migrate初始化数据库。 初始化成功后,如图: 到此,就正常安装了YII2的rest测试数据库。配置很简单,请参考github上的教程! 配置好解析,本地访问:http://www.rest.dev/users 你应该会到这个样子: <response> <name>Unauthorized</name> <message>You are requestin...

0
5
2016/04/29 13:25

yii2 rbac权限控制详细操作步骤

作者:白狼 出处:http://www.manks.top/article/yii2_rbac_description本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 本篇的主题是 rbac权限控制的详细操作步骤,注意是操作步骤哦,关于配置与rbac的搭建,我们在博文 yii2搭建完美后台并实现rbac权限控制实例教程说的再清楚不过了。 但是,在很多人的反馈下,说是完全按照本主的步骤来的,丝毫...

0
2
发表了博客
2018/06/25 19:32

深入理解yii2之RBAC(模块化系统)

一、前言 上一篇文章我们已经大致谈过RBAC到底是什么和yii2底层RBAC接口的分析。 下面我深入理解一下RBAC权限分配,深入理解下yii2底层RBAC扩展,以及它是如何针对模块化系统的开发的? 二、介绍 2.1 下面是张大致的思维导图: 由图可见,我们对yiiRABC底层接口的扩展逻辑。 2.2 下面是数据表具体流程图: 我们扩展了四个数据表格:auth_module、auth_role、auth_role_item、auth_role_child。 2.3下面是引入的数据表结构: au...

0
0
发表了博客
2018/01/31 15:48

yii2 rbac 相关表的作用是什么?

assignment表: 用来记录用户都被赋予了哪些角色(根据Yii2的设计,权限是不能赋予用户的) item表: 用来记录创建了哪些角色,哪些权限 item_child表: 用来记录三种东西: 1、一个角色和它的子角色; 2、一个角色和属于它的权限; 3、一个权限和属于它的子权限。 (角色不能属于权限) rule表: 还没研究

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
3 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部