1.權(quán)限管理概述
權(quán)限管理一般采用 RBAC(Role-Base Access Control)
一般為四部分: 用戶集合->角色集合->權(quán)限集合->資源和操作
給用戶分配角色,給角色分配權(quán)限,給權(quán)限分配對(duì)應(yīng)資源和操作闷沥。
這種模型下,資源和操作的各種權(quán)限不是直接授予具體的用戶媳否,而是在用戶集合與權(quán)限集合之間建立一個(gè)角色集合栅螟。每一種角色對(duì)應(yīng)一組相應(yīng)的權(quán)限荆秦。
權(quán)限系統(tǒng)維護(hù)的是用戶和可進(jìn)行行為的關(guān)聯(lián)關(guān)系。
在web系統(tǒng)中力图,大部分是由客戶端對(duì)服務(wù)端發(fā)起 Http資源請(qǐng)求步绸,返回?cái)?shù)據(jù)
http資源和數(shù)據(jù)資源可以抽象成 “系統(tǒng)資源”
所以如果簡(jiǎn)化,可以理解為
管理“用戶”吃媒,“角色”瓤介,“系統(tǒng)資源”這三者的關(guān)系,就是權(quán)限管理的要做的事情
2.通用模型
一般我們目前都會(huì)采用前后端分離赘那,這種情況下:
前端職責(zé):
1.根據(jù)后端返回刑桑,展示視圖
2.判斷URL是否有權(quán)限可以跳轉(zhuǎn)(路由邏輯,前端跳轉(zhuǎn)限制)
3.帶上用戶信息請(qǐng)求資源
4.資源請(qǐng)求異常處理(處理狀態(tài)碼)
后端職責(zé):
1.管理用戶
2.管理角色
3.管理權(quán)限
4.管理系統(tǒng)資源
而其中還有一個(gè)關(guān)鍵募舟,多人協(xié)作開發(fā)的過程中最大的問題:知識(shí)同步祠斧。
所以在項(xiàng)目開始前,前后端要一起達(dá)成共識(shí)拱礁,諸如文件命名琢锋,哪一個(gè)url對(duì)應(yīng)哪種操作哪種資源等等辕漂。
而前后端一起維護(hù)勢(shì)必有涉及到后期更新,版本迭代升級(jí)不同步的問題吴超。
目前想到的是引入版本號(hào)控制一下钉嘹。