shiro权限框架详解02-权限理论介绍
權(quán)限管理解決方案
本文主要介紹權(quán)限管理的解決方法:
- 粗顆粒度和細(xì)顆粒度
- 基于url攔截
- 使用權(quán)限管理框架
粗顆粒度和細(xì)顆粒度
什么是粗顆粒度和細(xì)顆粒度
在上一文中提到粗顆粒度和細(xì)顆粒度,但是沒(méi)有細(xì)講。
對(duì)資源類(lèi)型的管理稱(chēng)為粗顆粒度權(quán)限管理,既只控制到菜單、按鈕、方法,粗顆粒度的例子比如:用戶(hù)具有用戶(hù)管理的權(quán)限,具有導(dǎo)出訂單的權(quán)限。對(duì)資源實(shí)例的控制稱(chēng)為細(xì)顆粒度權(quán)限管理,既控制到數(shù)據(jù)級(jí)別,比如:用戶(hù)只允許查看本部門(mén)員工的信息,用戶(hù)只允許導(dǎo)出自己創(chuàng)建的訂單。
如何實(shí)現(xiàn)粗顆粒度和細(xì)顆粒度
對(duì)于粗顆粒度的權(quán)限管理可以很容易做到系統(tǒng)架構(gòu)級(jí)別的功能,即系統(tǒng)功能操作使用統(tǒng)一的粗顆粒度的權(quán)限管理。
對(duì)于細(xì)顆粒度的權(quán)限管理不建議做成系統(tǒng)架構(gòu)級(jí)別的功能,因?yàn)閷?duì)數(shù)據(jù)級(jí)別的控制是系統(tǒng)的業(yè)務(wù)需求,隨著業(yè)務(wù)需求的改變業(yè)務(wù)功能變化的可能性很大,建議對(duì)數(shù)據(jù)級(jí)別的權(quán)限控制在業(yè)務(wù)層個(gè)性化開(kāi)發(fā),比如:用戶(hù)只允許修改自己創(chuàng)建的商品信息,可以在service接口添加校驗(yàn)實(shí)現(xiàn),service接口需要傳入當(dāng)前操作人的標(biāo)識(shí),與商品創(chuàng)建人的標(biāo)識(shí)對(duì)比,如果不一致則拒絕修改。
基于url攔截
基于url攔截是企業(yè)中常用的權(quán)限管理方法,實(shí)現(xiàn)思路是:將系統(tǒng)操作的每個(gè)url配置在權(quán)限表中,將權(quán)限對(duì)應(yīng)到角色,將角色分配給用戶(hù),用戶(hù)訪(fǎng)問(wèn)系統(tǒng)功能通過(guò)Filter進(jìn)行過(guò)濾,Filter獲取用戶(hù)訪(fǎng)問(wèn)的url,只要訪(fǎng)問(wèn)的url是用戶(hù)分配角色中的url則放行繼續(xù)訪(fǎng)問(wèn)。
流程如下圖:
使用權(quán)限管理框架
對(duì)于權(quán)限管理基本上每個(gè)系統(tǒng)都需要使用,使用權(quán)限管理框架完成權(quán)限管理功能的開(kāi)發(fā)可以節(jié)省系統(tǒng)開(kāi)發(fā)時(shí)間,并且權(quán)限管理框架提供了完善的認(rèn)證和授權(quán)功能有利于系統(tǒng)擴(kuò)展維護(hù),但是學(xué)習(xí)權(quán)限管理框架是需要時(shí)間成本的,所以選擇一款簡(jiǎn)單高效的權(quán)限管理框架非常重要,shiro權(quán)限管理框架就是我們選擇的。
總結(jié)
以上是生活随笔為你收集整理的shiro权限框架详解02-权限理论介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 对比分析杨氏双缝干涉和insar参考面模
- 下一篇: 扒一扒神经网络--NIN