RBAC 基於角色的許可權管理的簡單實現

來源:互聯網
上載者:User

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’);

}

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.