畢業(yè)后砸捏,一直負(fù)責(zé)的方向都是后臺(tái)系統(tǒng)相關(guān),在負(fù)責(zé)后臺(tái)系統(tǒng)時(shí)總是會(huì)接觸到鑒權(quán)系統(tǒng)相關(guān)的隙赁,總結(jié)一下小小的經(jīng)驗(yàn)垦藏。
一、權(quán)限系統(tǒng)設(shè)計(jì)的必要性
權(quán)限系統(tǒng)對(duì)于任何一個(gè)后臺(tái)系統(tǒng)來(lái)講伞访,都非常重要掂骏;
1、系統(tǒng)的安全性:沒(méi)有準(zhǔn)入信息的用戶是不允許看到信息了厚掷,不然會(huì)涉及到信息泄露
2弟灼、效率:每個(gè)用戶看到的權(quán)限一樣的情況下级解,就失去了聚焦于不同用戶想看到的權(quán)限了
3、管理:每個(gè)用戶看到的權(quán)限一樣時(shí)田绑,信息的管理也是非常麻煩的
4勤哗、業(yè)務(wù)關(guān)聯(lián):有些系統(tǒng)會(huì)把一些用戶或者說(shuō)是角色放到一個(gè)任務(wù)系統(tǒng)邏輯里面去;每個(gè)用戶權(quán)限一樣就無(wú)法和業(yè)務(wù)關(guān)聯(lián)進(jìn)行相應(yīng)的操作了
二掩驱、不同階段的權(quán)限系統(tǒng)的設(shè)計(jì)
其實(shí)權(quán)限系統(tǒng)的權(quán)限管理芒划,會(huì)包括編輯、刪除欧穴、只讀等幾個(gè)權(quán)限民逼;包括業(yè)務(wù)操作權(quán)限和數(shù)據(jù)查看權(quán)限等等
權(quán)限系統(tǒng)的設(shè)計(jì)需要和業(yè)務(wù)發(fā)展關(guān)聯(lián),追隨業(yè)務(wù)系統(tǒng)的發(fā)展苔可;
1缴挖、前期為快速上線,可以實(shí)現(xiàn)簡(jiǎn)單的關(guān)系焚辅;甚至當(dāng)前起用戶少,角色少的時(shí)候苟鸯,這些邏輯都不需要頁(yè)面支撐同蜻,直接先寫(xiě)到代碼里面;
2早处、引入前端頁(yè)面:隨著業(yè)務(wù)的發(fā)展需要在前端可編輯可操作
3湾蔓、引入分組:隨著用戶量的增大,慢慢引入用戶分組的概念砌梆;使得管理用戶時(shí)默责,主要通過(guò)用戶和分組關(guān)聯(lián),分組和角色關(guān)聯(lián)
4咸包、引入權(quán)限集:權(quán)限太多了桃序,管理不過(guò)來(lái);避免多次增刪權(quán)限的概念烂瘫,將權(quán)限分配到一個(gè)集合里媒熊,使得角色和權(quán)限集關(guān)聯(lián)就好
5、擴(kuò)展權(quán)限的概念:權(quán)限可以是一個(gè)頁(yè)面坟比,可以小到一個(gè)url的操作按鈕
順便可以看看目前一個(gè)成熟的權(quán)限系統(tǒng)的設(shè)計(jì)架構(gòu)