基于Yii2.0开发RBAC权限功能

  1. web.php的配置

‘authManager‘ => [

‘class‘ => ‘yii\rbac\DbManager‘,

‘itemTable‘ => ‘chat_auth_item‘,

‘assignmentTable‘ => ‘chat_auth_assignment‘,

‘itemChildTable‘ => ‘chat_auth_item_child‘,

],

2. Controller.php里需要添加

public function beforeAction($action)

{

if(!parent::beforeAction($action)){

return false;

}

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

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

$action = $controllerId.‘/‘.$actionId;

if(\Yii::$app->user->can($action)){

return true;

}else{

$json = ‘{"error":"noright"}‘;

echo $json;

return false;

}

}

说明:用controllerId/actionId代表某个具体的操作。比如UserController.php里的注册actRonregister,则具体的权限为: user/register。

时间: 2024-10-09 20:44:18

基于Yii2.0开发RBAC权限功能的相关文章

下面介绍一个 yii2.0 的 Rbac 权限设置,闲话少说,直接上代码,

1.首先我们要在组件里面配置一下 Rbac ,如下所示(common/config/main-local.php或者main.php). 'authManager' => [ 'class' => 'yii\rbac\DbManager', 'itemTable' => 'auth_item', 'assignmentTable' => 'auth_assignment', 'itemChildTable' => 'auth_item_child', ], 当然,在配置里面也

mac在xampp下使用yii2.0开发环境配置

在mac上装环境,折腾了我好久.先用是mac自带的php,但自带的PHP很多扩展都需要自己安装.libevent,memcache等扩展都安装好了之后,发现pdo_mysql.dll扩展有总是,悲剧的是下班回来好几天都没搞好.因为年底比较忙,所以只有下班回来才能调环境.后来不行我就想用个xampp集成环境,刚好在公司用的也是xampp,一般的扩展都集成了,不用再安装了. 后来下了一个xampp,接着总是又出现了,之前能用的memcache扩展不能用了,我又重新安装,但都不行.犯的第一个错误是安装

Yii2.0开发初学者必看

基础总结 1.修改默认控制器/方法 yii默认是site控制器,可以在web.php中设置$config中的'defaultRoute'='xxxx';使用自定义默认的控制器.也可以改写Yii::$app->defaultRoute属性. yii的默认方法是index,可以在vender/yiisoft/yii2/base/Controller.php 中进行初始设置,也可以在控制器中改写defaltAction='action'. 2.添加独立模块 yii可以在modules文件夹中添加自定义

Yii2.0 GridView 的强大功能

1. 去除头顶的 第1条数据 共两条 代码如下 1 <?= GridView::widget([ 2 'dataProvider' => $dataProvider, 3 'filterModel' => $searchModel, 4 'columns' => [ 5 ['class' => 'yii\grid\SerialColumn'], 6 7 'id', 8 'name', 9 'sort_order', 10 'status', 11 12 ['class' =&

基于Cordova5.0开发自定义插件(android)

1.开发插件java部分 2.配置java插件 3.编写js部分代码 4.js配置 5.html中调用 最重要的:源代码下载 版权声明:本文为博主原创文章,未经博主允许不得转载.

yii2.0中Rbac 怎么添加超加管理员

最笨的是定义常量.具体怎么做?看下面: //定义在控制器声明上面define('BEST_PHPER',serialize(array('admin','admin1')));//设置admin管理员 //通常是在方法中进行判断,取值的$BEST_PHPER=unserialize(BEST_PHPER); //反序列话进行取值var_dump($BEST_PHPER);die;

PHP、thinkPHP5.0开发网站文件管理功能(三)编辑文件

public function edit(){ $file = iconv('UTF-8','GB2312',urldecode(input('file'))); if(empty($file)|| !file_exists($file)){ $this->error('操作异常'); } $arr = ['.PHP', '.CSS', '.JS', '.XML', '.HTML', '.HTACCESS','.TXT','.JSON']; $exc = strtoupper(substr($f

CKG10-高性能高可用Yii2.0电商平台 仿京东商城 高级组件 MySQL LVS

随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到程序开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了.对于学习有困难不知道如何提升自己可以加扣:1225462853进行交流得到帮助,获取学习资料. 下载地址:http://pan.baidu.com/s/1jI05TPW 如果你已经完成了Yii2.0入门,并能用它搭建一些完整的项目,那你就该向更高级的Yii2.0开发迈进,真正学会如何在实际工作中运用Yii2.0

Yii2.0 自定义日志类

Yii2.0的日志功能虽然说已经很强大,但有时候,我们需要在程序运行的关键地方加入日志.这样使用Yii2.0系统提供日志功能,就有一些不太习惯.(ps:也许是我的Yii2.0使用的不熟悉) 这里我在extensions下建了一个utils目录并建了一个名为FileLog的php文件继承yii\log\FileTarget类.不多了,直接上代码,大家一看就明白了. <?php namespace app\extensions\utils; use Yii; use yii\helpers\File