YII管理後臺許可權分配關於整理舊程式碼
YII自帶的RBAC許可權角色分配就可以解決,,,其實就是控制路由來控制訪問許可權
但是在網站初期人員少的情況我們一般不用限制許可權,,等到專案做大了,,再分配許可權的時候發現有些選單是通過路由介面下的狀態區分的,,這就給許可權分配造成了困擾,我的解決辦法是做最小的改動,即通過狀態來定向不同的路由達到控制許可權的目的:
舉個例子:
舊程式碼:(多個型別的內容通過一個路由訪問,不能精確控制許可權)
class TestlistController extends BaseBackController
{
/**
* 首頁入口
* @return string
*/
public function actionIndex()
{
$login_id = Yii::$app->user->identity->id;
$type = intval($_GET['type']);
$data = $_GET;
if(!$type){ //全部
//處理業務邏輯
}elseif($type == 1){ //關閉列表
//處理業務邏輯
}elseif($type == 2){ //今日列表
//處理業務邏輯
}
return return $this->render('index');
}
}
修改後新程式碼:(修改後不同型別資料走不同的路由方便細化許可權)
class TestlistController extends BaseBackController
{
/**
* 首頁入口
* @return string
*/
public function actionIndex()
{
$login_id = Yii::$app->user->identity->id;
$type = intval($_GET['type']);
$data = $_GET; //##修改後根據不同type走不同的路由,就可以控制許可權了
if(!$type){ //全部
return $this->redirect(array('testlist/index-all', 'data' => $data));
}elseif($type == 1){ //關閉列表
return $this->redirect(array('testlist/index-close', 'type'=>$type, 'data' => $data));
}elseif($type == 2){ //今日列表
return $this->redirect(array('testlist/index-cur', 'type' => $type, 'data' => $data));
}
}
/**
* 列表
* @param $data
* @return string
*/
public function testlist($data){
$showarr = [];
$type = intval($data['type']);
if(!$type){ //全部
//處理業務邏輯
}elseif($type == 1){ //關閉列表
//處理業務邏輯
}elseif($type == 2){ //今日列表
//處理業務邏輯
}
return $this->render('index');
}
/**
* 全部列表
*/
public function actionIndexAll(){
return self::testlist($_GET['data']);
}
/**
* 今日列表
* @return string
*/
public function actionIndexCur(){
return self::testlist($_GET['data']);
}
/**
* 關閉的列表
* @return mixed
*/
public function actionIndexClose(){
return self::testlist($_GET['data']);
}
}
相關文章
- 關於mysql許可權管理MySql
- 關於許可權管理的實用指令碼指令碼
- ecshop後臺新增左側選單與分配許可權
- .NET 程式許可權控制、獲得管理員許可權程式碼
- 關於公司程式碼許可權的問題
- odoo 許可權分配Odoo
- 【轉載】關於後臺許可權,我的幾點思考
- 【Git】程式碼許可權&分支管理Git
- Vue2.0 + ElementUI 手寫許可權管理系統後臺模板(二)——許可權管理VueUI
- Any-基於Laravel5.4新的許可權管理後臺骨架Laravel
- Any-基於 Laravel5.4 新的許可權管理後臺骨架Laravel
- 利用sudo命令為Ubuntu分配管理許可權(轉)Ubuntu
- 可以成功重置帝國CMS 的後臺密碼,重新獲得後臺管理許可權密碼
- 關於動態許可權
- 【轉】關於MySQL許可權MySql
- 程式碼批量新增ACL管理員許可權
- Bauth許可權系統,基於ThinkPHP5開發 - 一個優秀的整合許可權管理的通用後臺PHP
- ThinkPHP開發線上視訊網站原始碼,後臺完整許可權管理PHP網站原始碼
- 基於 Laravel5.5 和 layui 包含基礎 RBAC 許可權的管理後臺LaravelUI
- 關於 Laravel 日誌許可權Laravel
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-管理索引-關於索引物件索引
- vue後臺管理系統學習(6)--路由和許可權Vue路由
- thinkphp 5.0.10開發auth後臺許可權管理系統PHP
- vue後臺管理系統許可權控制思考與實踐Vue
- 前端學習(2596):後臺系統的許可權控制和管理--重新整理頁面消失前端
- 2 Day DBA-管理方案物件-關於方案物件管理許可權物件
- 2 Day DBA-管理Oracle例項-關於管理帳戶和許可權-SYSDBA和SYSOPER系統許可權Oracle
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-管理資料庫中儲存的程式程式碼物件資料庫
- Catchadmin 基於 Tp6 的 前後端分離後臺管理許可權系統後端
- 程式請求管理員許可權
- Linux-許可權管理(ACL許可權)Linux
- 基於RBAC實現許可權管理
- oracle許可權整理檔案Oracle
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-關於表列屬性物件
- postgresql關於許可權的總結SQL
- MySQL資料庫許可權體系入門(6)---管理表、列及程式相關許可權MySql資料庫
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-管理表物件
- 關於NTFS資料夾的安全許可權分配的一些總結