Yii框架RBAC

Yii框架RBAC权限管理扩展实战详解 php?: false;然后在items.php中绑定:'description' => '编辑文章',],最后在控制器中传参调用:// 允许编辑整个流程如下:participant U as 用户participant C as 控制器U->>C: 请求 /post/update?id=5R-->>AM: 返回 true/falseAM-->>C: 决策结果C->>U: 返回响应或403看到了吗?正是这条小小的规则,让原本僵硬的权限系统变得智能起来。 阅读详情

1、首先说一下什么是RBAC

基于角色的访问控制(Role-Based Access Control),作为传统访问控制(自主访问,强制访问)的有前景的受到广泛的关注,在RBAC中,权限与角色相关联,用户通过角色的成员得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据他的责任和资格来被指派响应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并并赋予新的权限,而权限也可根据需要而从某角色中回收。角色与角色的关系可以建立起来以囊括更广泛的客观情况。

2、测试中我们可以做一个简单的登录,将用户名和id存入到session中,方便以后的使用

3、yii框架中的权限分配

我们在学习php的过程中应该对TP框架中的RBAC很熟悉,其实框架之间的内容大多数都是相同的,下面让我们来看一下yii框架中的RBAC。

配置RBAC

在开始定义授权数据和执行存取检查之前,需要先配置应用组件yii/base/Application::authManager。yii提供了两套授权管理器;yii/rbac/phpManager和yii/rbac/DbManager。牵着使用PHP脚本存放授权数据,而后者使用数据库存放授权数据。如果你的应用不要求大量的动态角色和权限管理,你可以考虑使用前者。

下面是两个文件的位置



配置在frontend或者backend文件夹,config文件夹下main.php


或者


建立公共控制器,继承controller,然后其他控制器继承公共控制器

新建控制器中,建立beforeAction方法,

class CommonController extends Controller{

public function beforeAction($action){

$session=\Yii::$app->session;

//取出存入的session值

$user_session=$session->get('存入的session名');

//判断是否有登录session

if(!isset($user_session)){

echo "请先登录";

}

//判断当前用户的权限

//获取当前访问的控制器

$controller=Yii::$app->controller->id;

//获取当前访问的方法

$action=Yii::$app->controller->action->id;

//如果当前访问的首页权限是公共的,则开放访问

if($controller=="admin" && $action="index"){

return true;

}

//取出session中存入的id值

$id_session=$session->get("存入的id名");

//查询出改用户的节点

//执行sql语句

$rows=Yii::$app->db->createCommand($sql)->queryAll();

//进行判断,如果有数据就进行判断,没有数据,则给一个警告

if($rows){

foreach($rows as $k => $v){

if($v['controller']==$controller && $v['action']==$action){

return true;

}

}

}else{

echo "抱歉,您的使用权限不够";

}

}

}


如果在以上代码的执行中,出现页面不显示的错误,就再添加下面的代码

if (!parent::beforeAction($action)) {
    return false;
}
return true;


Yii2-Admin:系统基于RABC开发的Admin系统,可以直接拿来作为后台Admin系统 RBAC Yii 2经理 需要依赖这个来安装Admin,详情请参考 功能 基础功能:登录,登出,密码修改等常见的功能 菜单配置:可视化配置菜单,可以根据配置用户的权限显示隐藏菜单 权限机制:角色,权限增删改查,以及给用户赋予角色权限 规则机制:除了权限角色之外有规则机制,即可以给对应的权限配置规则 二次开发:完全可以基于该系统做二次开发,开发一套适合自己的后台管理系统,节约权限控制以及部分基础功能开发的时间成本,后台系统开发的不二之选 持续更新:新的功能模块会持续更新,请关注 安装 最简单的安装,请访问查看 预览 登录 首页 权限管理 角色管理 路由管理 菜单管理 使用Composer安装 安装此扩展的首选方法是通过 。 无论运行 php composer.phar require izyue/yii2-admin "*" 或对于开发大师 php composer.phar requir 立即下载

相关推荐

90+个各种疾病相关医疗数据集

含新冠、传染病、医学图像等

2万+

yii实现rbac详解

之前有个朋友问我yii的rbac怎么做,以前大学的时候有接触过,很长时间没用了,也忘记了,正好这几天比较闲,重新捋了下大体思路,希望可以帮到困在yii的rbac上的门外han~~ RBAC~~什么是RBAC 基于角色的权限访问控制(Role-Based AccessControl)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广...

weixin_33851604的博客 236

UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount()【已解决】

UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount()【已解决】

围炉夜敲的博客 1万+

Yii中使用RBAC完全指南

写在前面以下内容适合Yii 1.0.x,其他版本可能有略微的差别。 根据您的评论和反馈,本文会不断进行修改和补充,以方便新学习者。 开始准备<br />Yii提供了强大的配置机制和很多现成的类库。在Yii中使用RBAC是很简单的,完全不需要再写RBAC代码。所以准备工作就是,打开编辑器,跟我来。设置参数、建立数据库<br />在配置数组中,增加以下内容:‘components‘=>array(//……‘authManager‘=>array(‘class‘=>‘CDbAuthManager‘,//认证类名称

软件开发 1万+

【汽车ECU标定技术解析】DCM文件与A2L、HEX的协同工作机制

本文深入解析了汽车ECU标定中DCM、A2L与HEX三大核心文件的协同工作机制。A2L文件作为定义标定变量地址与规则的“图纸”,DCM文件承载工程师调试后的具体标定数据,最终通过A2L的地址映射,将DCM数据固化生成可刷入ECU的HEX文件,形成完整的标定数据流转闭环。

weixin_29214559的博客 436

评价模型——层次分析法(AHP)与熵权法(EWM)

层次分析法是定性与定量结合的多准则决策、评价方法。将决策的有关元素分解成目标层、准则层和方案层,并通过人们的判断对决策方案的优劣进行排序,在此基础上进行定性和定量分析。它把人的思维过程层次化、数量化,并用数学为分析、决策、评价、预报和控制提供定量的依据。

好好学习 天天向上 2万+

Yii2全面解析之权限管理RBAC

鉴于RBAC实用性很强,  本文比较长, 但可以保证质量与学习效果.仔细阅读,  跟随练习, 保证对Yii中使用RBAC有根本的理解. 概述 RBAC, 基于角色的访问控制, 对RBAC有问题的朋友, 可以转移到: 基于角色的访问控制RBAC 一文, 进行了解. Yii2中, 实现的是NIST RBAC模型. Yii2中, 的RBAC管理, 涉及到的内容有: 权限, 角色, 规则

mengdc的博客 1万+

开关电源和线性电源Multisim电路仿真实验汇总——硬件工程师笔记

本文系统介绍了稳压电源的基础知识与应用实验。首先阐述了稳压电源的定义与类型,包括线性稳压电源(如LM7805/7905)和开关稳压电源(降压/升压/升降压式)的工作原理、参数特点及优劣势。随后详细讲解了各类稳压电源的实验设计,如线性稳压电源的电路实现、开关稳压电源的PWM控制方法等。最后汇总了硬件工程师相关的笔试面试资源,涵盖器件知识、电路仿真、企业真题等内容。全文结合理论分析与Multisim仿真,为电子工程学习者提供了稳压电源的实用技术参考。

XU157303764的博客 1640

Yii2的RBAC实现原理详解

一.简介: RBAC(Role-Based Access Control )基于角色的访问控制。 1.基本思想:在用户和访问权限之间引入角色的概念,将用户和角色联系起来,通过对角色的授权来控制用户对系统资源的访问,相对传统访问控制 引入角色极大地简化了权限的管理。 1).角色:可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员”、“版主”都是角色。 2).权限:版...

phpduang的博客 5572

YOLOv11-seg 改进系列 | 引入原创 RSCD 重参数共享卷积分割头,增强 Head 表达力并压低计算量

本文提出一种改进的YOLOv11-seg分割头Segment_RSCD,通过重参数共享卷积增强表达能力。该模块在LSCD共享检测头基础上引入DiverseBranchBlock重参数卷积,保留三尺度预测与Proto掩码原型接口不变。相比原始Segment头,Segment_RSCD参数增加4%但计算量降低1.3%,在共享卷积结构中通过多分支补偿表达能力损失,同时利用Scale层保持尺度差异校准。该方法不改动Backbone/Neck结构,仅重构检测/分割头,实现训练期多路径聚合与部署期等效单分支的平衡。

qq_44224801的博客 181

嵌入式u-boot最全面试题及参考答案(5万字长文持续更新)

例如,在一个便携式设备中,U-Boot 在启动时初始化电源控制器,将输出电压设置为合适的值。命令是u-boot构建过程中用于配置u-boot选项的命令。在嵌入式系统中,启动画面(也称为启动Logo或Splash Screen)是展示给用户的第一印象,它可以包含公司的标志、产品的名称或其他相关信息。u-boot允许通过环境变量来进行配置,这使得开发者可以根据不同的硬件平台和项目需求灵活地调整u-boot的行为。写入操作可以是字节级别的,也可以是块级别的,具体取决于设备的性能和操作系统的需求。

大模型大数据攻城狮的专栏 997

yii框架中操作RBAC

基于角色的权限访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问),的有前景的代替受到广泛的控制。

lsx392502599的博客 444

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

yii框架RBAC權限管理

基于角色的存取控制 (RBAC) 基于角色的存取控制 (RBAC) 提供了一个简单而强大的集中式存取控制机制。 详细的关于 RBAC 和诸多传统的存取控制方案对比的详情,请参阅Wikipedia。 Yii 实现了通用的分层的 RBAC,遵循的模型是NIST RBAC model. 它通过authManagerapplication component提供 RBAC 功能。 ...

weixin_38166852的博客 236

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

YII2框架RBAC 实例运用

YII2框架RBAC 自己开发(权限控制)实例运用 原创 2016年11月10日 16:01:42 1、首先说一下什么是RBAC 基于角色的访问控制(Role-Based Access Control),作为传统访问控制(自主访问,强制访问)的有前景的受到广泛的关注,在RBAC中,权限与角色相关联,用户通过角色的成员得到这些角色的权限。这就极大地简化了权限的管

woshiliyongxing的博客 399

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Yii 框架自带rbac (文件版)

各位猿友,今天来点干货     我们在使用yii框架中自带的rbac时,需要先知道rbac的原理:     用户->角色->权限    以及  用户和角色之间的关系,角色和权限之间的关系。     配置授权管理组件     1.yii config 文件配置(我用的是高级版本)(配置在common/config/main.php 或者main-local.php)     ret

RJ12345678的博客 658

yii2的基础版框架yii\rbac一共有哪些方法?使用场景是什么?底层原理是什么?

yii\rbac是 Yii2 框架中的一个权限管理组件,用于实现基于角色的访问控制(Role-Based Access Control,简称 RBAC)。通过yii\rbac,你可以定义角色、权限和规则,从而控制用户对系统的访问。通过以上步骤,你可以使用yii\rbac实现基于角色的访问控制,管理用户的角色和权限。

长风破浪会有时的博客 766

yii框架製作簡易RBAC權限管理

控制器源碼 1 <?php 2 namespace app\controllers; 3 4 use yii; 5 use yii\web\Controller; 6 7 class PowerController extends Controller 8 { 9 public function actionLogin() 10...

weixin_38166852的博客 132

yii框架rbac

第一种方法PhpManager  在config下的main-local.php 加上  'authManager' => [              'class' => 'yii\rbac\PhpManager',                  ] 记住要在前台或者后台建一个rbac文件夹 运行完会自动生成rbac下的文件 第二种DbManager

yinzong123的博客 275

YII2.0框架(五) RBAC基于角色的权限控制yii\rbac\DbManager

摘自 http://www.yiichina.com/doc/guide/2.0/security-authorization   一、RBAC配置。   这是配置RBAC的参数列表,我使用的是数据库的RBAC设置,可以根据文档配置数据表,或者使用文件里面的SQL表,配置好了就可以使用RBAC了,非常方便. 'authManager' =&gt; [ 'clas...

后端研发工程师Marion的博客 1913

YII框架自带RBAC

common:中加 'authManager' => [ 'class' => 'yii\rbac\DbManager', 'itemTable' => 'auth_item', 'assignmentTable' => 'auth_assignment', 'i...

weixin_30826761的博客 147

Yii框架RBAC权限管理

Yii2全面解析之权限管理RBAC 本文比较长, 但可以保证质量与学习效果.仔细阅读,  跟随练习, 保证对Yii中使用RBAC有根本的理解. 概述 RBAC, 基于角色的访问控制, 对RBAC有问题的朋友, 可以转移到: 基于角色的访问控制RBAC 一文, 进行了解. Yii2中, 实现的是NIST RBAC模型. Yii2中, 的RBAC管理, 涉及到的内容有:

NanGe_BoKe 853

Yii框架之Rbac

Yii 提供了两套授权管理器: yii\rbac\PhpManager 和 yii\rbac\DbManager。前者使用 PHP 脚本存放授权数据, 而后者使用数据库存放授权数据。在这里我要讲的是Dbmanager 第一步:以yii框架基础模板为例,要使用yii框架自带的rbac,首先要在config目录下的web.php文件的components数组内加入以下代码: DbManage...

panjiapengfly的博客 577

YII2框架RBAC 自己开发(权限控制)实例运用

1、首先说一下什么是RBAC 基于角色的访问控制(Role-Based Access Control),作为传统访问控制(自主访问,强制访问)的有前景的受到广泛的关注,在RBAC中,权限与角色相关联,用户通过角色的成员得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据他的责任和资格来被指派响应的角色,用户可以很容易地从一个角色被指派到另一个角色

woshihaiyong168的博客 4089

Yii 框架的Rbac [权限控制]

转载自xmlife的博客 : http://blog.youkuaiyun.com/xmlife/article/details/50733451 1.首先我们要在配置文件的组件(component)里面配置一下 Rbac [php]view plaincopy ‘authManager’=>[ ‘class’=>‘yii\rbac...

weixin_34404393的博客 154

Yii-Casbin:在 Yii 里使用 Casbin,支持 ACL、RBAC多种模型的权限管理框架

PHP-Casbin 是一个用 PHP 语言打造的轻量级开源访问控制框架( https://github.com/php-casbin/php-casbin ),目前在 GitHub 开源。PHP-Casbin 采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制 RBAC...

chunfur25477的博客 249
上一篇: 聚合函数有哪些
下一篇: Laravel框架详解
php_younger
博客等级 码龄10年 32粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值