1. 程式人生 > >Shiro系列專題(一)-什麼是RBAC模型?

Shiro系列專題(一)-什麼是RBAC模型?


       角色訪問控制(RBAC)引入了Role的概念,目的是為了隔離User(即動作主體,Subject)與Privilege(許可權,表示對Resource的一個操作,即Operation+Resource)。 Role作為一個使用者(User)與許可權(Privilege)的代理層,解耦了許可權和使用者的關係,所有的授權應該給予Role而不是直接給User或 Group。Privilege是許可權顆粒,由Operation和Resource組成,表示對Resource的一個Operation。例如,對於新聞的刪除操作。Role-Privilege是many-to-many的關係,這就是許可權的核心。


基於角色的訪問控制方法(RBAC)的顯著的兩大特徵是:
1.由於角色/許可權之間的變化比角色/使用者關係之間的變化相對要慢得多,減小了授權管理的複雜性,降低管理開銷。
2.靈活地支援企業的安全策略,並對企業的變化有很大的伸縮性。

在RBAC的模型,涉及到三個關鍵的元素:
1)使用者:系統的使用使用者(登入使用者)
2)角色:擁有相同的許可權的使用者
3)許可權:系統可以被使用者操作的元素(例如:系統選單,超連結,檔案等)

以上三個元素有一定的關係:
1)使用者 和 角色 是多對多的關係

2)角色 和 許可權 是多對多的關係