自己設(shè)計(jì)的一套R(shí)BAC架構(gòu)圖,樂(lè)于分享給你們,此架構(gòu)可粗粒度,可細(xì)粒度,

此套rbac默認(rèn)粗粒度控制權(quán)限,也可細(xì)粒度控制,開(kāi)啟按鈕控制權(quán)限,控制前端所有的按鈕即可實(shí)現(xiàn)細(xì)粒度控制整個(gè)系統(tǒng),
表間關(guān)系箭頭所指都是N:N也就是多對(duì)多關(guān)系,目前可以解決多數(shù)系統(tǒng)權(quán)限需求
功能如下:
一級(jí) 系統(tǒng)管理
二級(jí) 用戶組管理 功能描述:增刪改查 配置角色 配置人員
二級(jí) 用戶管理 功能描述:增刪改查 配置角色 顯示所在組 重置密碼
二級(jí) 角色管理 功能描述:增刪改查 配置功能
二級(jí) 功能管理 功能描述:增刪改查 顯示擁有角色 配置交易 配置菜單 配置按鈕
二級(jí) 交易管理 功能描述:增刪改查 顯示所屬功能
二級(jí) 菜單管理 功能描述:增刪改查 顯示所屬功能
二級(jí) 按鈕管理 功能描述:增刪該查 顯示所屬功能
在程序使用中如何操作 ?
1首次登錄可以把當(dāng)前登錄的用戶所有角色獲取出來(lái),因?yàn)闄?quán)限在設(shè)計(jì)的時(shí)候我們?cè)O(shè)計(jì)出了中間表,所以當(dāng)前用戶的角色總合 =(當(dāng)前用戶下的所有角色+用戶所在組下的所有角色)把這兩個(gè)集合的角色編碼Set集合去重一下就是當(dāng)前用戶的角色列表
2獲取到了當(dāng)前登錄用戶的角色列表,我們?cè)诒闅v每一個(gè)角色,根據(jù)每一個(gè)角色去查詢對(duì)應(yīng)的功能列表集合,把當(dāng)前用戶的所有功能Id獲取到并且Set去重之后與登錄信息一同存儲(chǔ)在緩存當(dāng)中 ,
3有了當(dāng)前功能列表,用戶在每次請(qǐng)求的同時(shí)我們可以對(duì)應(yīng)的去查詢 當(dāng)前用戶的所有功能下對(duì)應(yīng)的 交易集合,也就是Action集合,還有對(duì)應(yīng)的菜單集合,對(duì)應(yīng)的按鈕集合按鈕可能是前端靜態(tài)按鈕所以由前端處理權(quán)限,其余權(quán)限皆是后臺(tái)處理

浙公網(wǎng)安備 33010602011771號(hào)