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-All-access ($role['access_id']);
根據路由器類別取得要執行的控制器或控制器方法
$m = current_method();//取得目前要存取的方法
if(!in_array($ m, $access)){
redirect('/index');
}
以上就介紹了海邊的石頭830,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。