1.什么是權限管理系統(tǒng)?
權限管理是一個幾乎所有后臺系統(tǒng)的都會涉及的一個重要組成部分秉剑,可以說是后臺項目的基本功,主要目的是對整個后臺管理系統(tǒng)進行權限的控制稠诲,而針對的對象是員工侦鹏,避免因權限控制缺失或操作不當引發(fā)的風險問題诡曙,如操作錯誤,數(shù)據(jù)泄露等問題略水。
權限管理主要是管控下面三個方面:
哪些頁面要設置權限
哪些操作要設置權限
哪些數(shù)據(jù)要設置權限
下面的例子就是控制頁面的訪問權限:
權限管理核心就是兩方面:認證和授權价卤。下面我們參考一下認證的演進過程,去深入了解一下:
2.認證的演進過程渊涝?
單體階段:
粘滯會話會把登陸狀態(tài)綁定到某個服務器上
解決方案:
1.session復制:會話數(shù)據(jù)在服務器之間進行同步復制慎璧;
2.無狀態(tài)會話:session數(shù)據(jù)存在客戶端瀏覽器上;安全問題跨释,需要加密胸私;存儲4K
3.session共享:集中存儲在某個地方(redis);
微服務階段:
采用透明令牌(引用令牌):token使用無意義的字符串,本質(zhì)還是集中狀態(tài)會話:
輕量級(安全性要求沒那么高)JWT
HMAC流程
RSA流程
3.什么是RBAC模型鳖谈?
RBAC(Role-Based Access Control )基于角色的訪問控制岁疼。
RBAC認為權限的過程可以抽象概括為:判斷【W(wǎng)ho是否可以對What進行How的訪問操作(Operator)】這個邏輯表達式的值是否為True的求解過程。即將權限問題轉(zhuǎn)換為Who缆娃、What五续、How的問題。who龄恋、what疙驾、how構成了訪問權限三元組。
4.基于RBAC模型的權限驗證框架
Apache Shiro
Spring?Security