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

}

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    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.