yii2-rest-rbac

Yii2 权限管理 RBAC rest 接口
授权协议 MIT
开发语言 PHP
所属分类 Web应用开发、 REST/RESTful项目
软件类型 开源软件
地区 国产
投 递 者 巫马修为
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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

接口文档参考

  • 根据yii2-admin( https://github.com/mdmsoft/yi...)修改,yii2-admin只是web方式,这个相当于yii2-admin的rest版本。适合用于前后端分离项目,rest方式提供接口,实现对接口的权限控制。 项目地址: https://github.com/windhoney/... yii2-rest-rbac Yii2权限系统,rest版,根据 yi

  • rest api是通过资源请求的,所以不像一般的/add /edit等来判断是否拥有权限。 我们可以写个方法一键写入权限的时候默认增加 ,其实和常规的YII2 RBAC权限一样的做法,我就不在这里详细说RBAC怎么做了,网上也有很多资料,我会提下,网上教程没有的,角色添加后的编辑怎么操作 /index = get请求 /create = post请求 /update = put/patch请求 /

  • 问题描述 我在使用yii2-admin rbac功能 ,发现无论用户登录与否,在地址栏中都可以输入连接地址访问 权限控制admin模块. 问题出现的环境背景及自己尝试过哪些方法 yii2.0 composer 安装的yii2-admin 模块 相关代码 // 请把代码文本粘贴到下方(请勿用图片代替代码) return [ 'id' => 'app-backend', 'basePath' => d

  • ================================================================================= 建目录【不建WIN环境变量时可以使用】 D:\AppServ\php5\php.exe D:\AppServ\www\yii\framework\yiic.php webapp D:\AppServ\www\yii\blog\ ====

  • 一、spl_autoload_register()自动加载函数 官方函数地址:https://www.php.net/manual/en/function.spl-autoload-register.php spl_autoload_register([callable $autoload_function [, bool $throw = true [, bool $prepend = fals

  • Sites 网站 yiifeed:Yii 最新动态都在这里 yiigist:Yii 专用的 Packages my-yii:Yii 学习资料和新闻 Docs 文档 Yii Framework 2.0 类参考手册 Yii Framework 2.0 权威指南 Yii Framework 2.0 权威指南镜像(每次github有提交时15分钟后自动更新比官方那个及时) PDF 版本的权威指南 Yii

  • 一、API认证的实现:可以让用户在客户端进行登录认证 步骤1:api/config/main.php  去掉cookie,session,将common\models\user改为common\models\Adminuser,增加'enableSession' => false,去掉identityCookie及session设置 return[ 'components'=>[ 'user

  • classes.php文件保存了Yii框架的 类映射, 在框架初始化时,被赋值给Yii::$classMap变量, 当Yii框架自动加载机制运行时,第一步搜索此数组,以便引入类对应的文件 return [ 'yii\base\Action' => YII2_PATH . '/base/Action.php', 'yii\base\ActionEvent' => YII2_PATH . '/

  • 原文转自   IT技术擎 下面是yii2内部类的列表,里面列出了目前YII2内部类及对应的存放位置 'yii\base\Action' => YII2_PATH . '/base/Action.php',   'yii\base\ActionEvent' => YII2_PATH . '/base/ActionEvent.php',   'yii\base\ActionFilter' => YII

  • 看了  https://www.yiiframework.com/doc/guide/2.0/zh-cn/tutorial-yii-as-micro-framework 有必要自己理解一遍该部分知识 mkdir  gxyx_dv2018 cd gxyx_dv2018 mkdir  api cd  api  用api目录作为后端RESTful API项目的根目录 在api目录创建 composer.

  • Authentication 认证 RESTful API是无状态的, 因此这意味着不能使用 sessions && cookies。 因此每一个请求应该带有一些 authentication credentials 因为用户的 authentication 状态可能不是保存在sessions || cookies 中的。 一个通用的实例就是在发送每一个请求的同时带一个 secret access

  • Yii框架中使用SRBAC作为权限管理模块时遇到的问题 Yii框架中使用SRBAC作为权限管理模块时遇到的问题   看到Yii中提供RBAC的插件,SRBAC,就想用用。   结果按照手册上的安装办法,整来整去,安装完了,可就是进不了权限管理界面。     最后想到,自己为了使用更REST风格的URL,所以配置了config\main.php文件中的 URL路由规则,如下: 'urlManager

  • 1. 项目的目录结构 基础版: basic 目录下的各个文件夹: commands            控制台 config                    配置文件      console.php          控制台配置     db.php                   数据库连接配置     params.php           项目中的变量配置     web.p

  • 1. Yii 概述 Yii Framework 是一个 高性能的,适用于开发 WEB2.0 应用的 PHP 框架。 Yii 自带了丰富的功能 ,包括 MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间。 Yii 是纯面向对象的,基于组件的,用于开发大型 Web 应用的高性能 PHP 框架。从面向对象的角度来说,它比

 相关资料
  • 权限管理 权限管理机制是 hyperledger fabric 项目的一大特色。下面给出使用权限管理的一个应用案例。 启动集群 首先下载相关镜像。 $ docker pull yeasy/hyperledger:latest $ docker tag yeasy/hyperledger:latest hyperledger/fabric-baseimage:latest $ docker pull

  • 添加 找到一个你要添加的位置“右击” 在弹出的下拉选项中选择“添加同级”或“添加下级” 在弹出的对话框输入相关信息 路由名称 路由路径,支持 /app/{namespace}/{id:+0~9} 或 /app/:namespace/:id 两种写法 Icon: 如果是菜单填ant.design支持的icon就行 HTTP请求的Method,支持 GET、POST、DELETE、PUT等 是否是菜单

  • 细节 一个文件主要包含下列属性,ls -l - rwxrwxrwx user group date filename 111 101 101 归属用户的权限 归属群组的权限 其它用户的权限 归属用户 归属群组 日期信息 文件名称 对于文件夹,必须拥有它的可执行权限,才能够使用 cd 命令进入该文件夹;拥有可读权限,才能够使用 ls 命令查看该文件夹的文件列表。 root用户

  • 用户角色定义共有4种,分别是创建者、管理员、分析师和普通用户,按权限由大到小排列。 1.1. 1. 概念理解 创建者 产品唯一创建人,需个人基本信息及邮箱或手机号码认证,最高权限,可申请更换; 管理员 产品级别,数量可设置多个,与创建者之间除更换创建者之外,权限相同; 分析师 分析功能全部权限,不具有应用、用户权限管理功能权限; 普通用户 查看被授权的看板(未开放功能); 角色权限速查表: 权限类

  • 本节作者:cameluo Shield 是 Elastic 公司官方发布的权限管理产品。其主要特性包括: 提供集群节点身份验证和集群数据访问身份验证 提供基于身份角色的细粒度资源和行为访问控制,细到索引级别的读写控制 提供节点间数据传输通道加密保护输出传输安全 提供审计功能 以插件的形式发布 License管理策略 Shield 是一款商业产品,不过提供 30 天免费试用,试用期间是全功能的。过期

  • 链接 Shield Search-Guard 在 Elasticsearch 2.x 上的运用

  • 9.1. 数据权限管理 获取权限列表 http://localhost:1000/api/power/1.0.0/query 获取之前保存的的数据权限信息 http://localhost:1000/api/power/1.0.0/getJson 查询根据token获取当前团队下的用户 http://localhost:1000/api/team/1.0.0/users token是登录成功以后返

  • 除了为每一个用户设置权限,权限管理员 为连接及其数据库对象的权限提供另一查看方式。注意:只限于 MySQL、Oracle、PostgreSQL、SQL Server 和 MariaDB。 从用户的对象列表工具栏点击 权限管理员 并按照下列步骤进行: 在查看树展开节点直至到达目标对象。 选择对象并点击 添加权限 以打开窗口。 勾选用户以显示网格在右边的面板上。 在网格里,对照在 权限 列出的权限,勾