程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> RBAC 基於角色的權限管理的簡單實現,rbac角色權限管理

RBAC 基於角色的權限管理的簡單實現,rbac角色權限管理

編輯:關於PHP編程

RBAC 基於角色的權限管理的簡單實現,rbac角色權限管理


1、什麼是權限管理,權限管理就是對後台功能的細分,和對不同工作人員劃分不同的工作的管理

RBAC是如何實現的,通過對不同控制器和控制器不同方法的限制,實現的管理。

要實現RBAC需要三張表,一張用戶表,一張角色表 ,一張權限表

用戶表:

id   ******  role_id

角色表

role_id ****** access_ids(記錄所有可以訪問的權限id)

權限表

access_id   

記錄所有控制器 或者控制器下的 action

2、如何控制,在控制器的父類 或者控制器的初始化的方法裡面做判斷即可

$role_id = $_SESSION[‘role_id’];

$role = $db->role->findByPk($role_id);

$access = $db->access->findAllByPk($role[‘access_id’]);

根據路由器類獲取要執行的控制器或者控制器方法

$m = current_method();//獲取當前要訪問的方法

if(!in_array($m, $access)){

   

redirect(‘/index’);

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved