php acl rbac,建站常用的用户权限管理模型ACL和RBAC的区别
常用的權限管理模型ACL和RBAC的區別
1.ACL
ACL是最早也是最基本的一種訪問控制機制,它的原理非常簡單:每一項資源,都配有一個列表,這個列表記錄的就是哪些用戶可以對這項資源執行CRUD中的那些操作。當系統試圖訪問這項資源時,會首先檢查這個列表中是否有關于當前用戶的訪問權限,從而確定當前用戶可否執行相應的操作。總得來說,ACL是一種面向資源的訪問控制模型,它的機制是圍繞“資源”展開的。
The relative simplicity of ACLs means they do not need much underlying technological infrastructure to work.由于ACL的簡單性,使得它幾乎不需要任何基礎設施就可以完成訪問控制。但同時它的缺點也是很明顯的,由于需要維護大量的訪問權限列表,ACL在性能上有明顯的缺陷。另外,對于擁有大量用戶與眾多資源的應用,管理訪問控制列表本身就變成非常繁重的工作。
ACL總結
優勢:簡單
缺點:用戶量大、控制功能多導致維護困難
2.基于角色的訪問控制RBAC
RBAC是把用戶按角色進行歸類,通過用戶的角色來確定用戶能否針對某項資源進行某項操作。RBAC相對于ACL最大的優勢就是它簡化了用戶與權限的管理,通過對用戶進行分類,使得角色與權限關聯起來,而用戶與權限變成了間接關聯。RBAC模型使得訪問控制,特別是對用戶的授權管理變得非常簡單和易于維護,因此有廣泛的應用。但是它也有自身的缺點,那就是由于權限是以角色為載體分配的,如果某一角色下的個別用戶需要進行特別的權限定制,如同加入一些其他角色的小部分權限或去除當前角色的一些權限時,RBAC就無能為力了,因為RBAC對權限的分配是角色為單位的。
RBAC總結
優勢:利于維護
缺點:不能直接給某個用戶賦予某個功能
除兩上述兩種主要的模型之外,還有包括:基于屬性的訪問控制ABAC和基于策略的訪問控制PBAC等等,因為應用不是很廣泛,就不做介紹了。
總結
以上是生活随笔為你收集整理的php acl rbac,建站常用的用户权限管理模型ACL和RBAC的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信怎样刷步数 微信免费刷步数最新教程
- 下一篇: 怎么能少了氛围灯氛围灯怎么控制