Redis和Shiro簡介

Redis 簡介
Redis 是完全開源免費的,遵守BSD協(xié)議,是一個高性能的key-value數(shù)據(jù)庫。

Redis 與其他 key - value 緩存產(chǎn)品有以下三個特點:

Redis支持數(shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中,重啟的時候可以再次加載進行使用。
Redis不僅僅支持簡單的key-value類型的數(shù)據(jù),同時還提供list,set,zset,hash等數(shù)據(jù)結(jié)構(gòu)的存儲。
Redis支持數(shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份。

Shiro是什么

Shiro是一個Java平臺的開源權(quán)限框架,用于認證和訪問授權(quán)。具體來說,滿足對如下元素的支持:

用戶,角色,權(quán)限(僅僅是操作權(quán)限,數(shù)據(jù)權(quán)限必須與業(yè)務需求緊密結(jié)合),資源(url)。
用戶分配角色,角色定義權(quán)限。
訪問授權(quán)時支持角色或者權(quán)限,并且支持多級的權(quán)限定義。
Q:對組的支持?
A:shiro默認不支持對組設置權(quán)限。

Q:是否可以滿足對組進行角色分配的需求?
A:擴展Realm,可以支持對組進行分配角色,其實就是給該組下的所有用戶分配權(quán)限。

Q:對數(shù)據(jù)權(quán)限的支持? 在業(yè)務系統(tǒng)中定義?
A:shiro僅僅實現(xiàn)對操作權(quán)限的控制,用于在前端控制元素隱藏或者顯示,以及對資源訪問權(quán)限進行檢查。數(shù)據(jù)權(quán)限與具體的業(yè)務需求緊密關聯(lián),shiro本身無法實現(xiàn)對數(shù)據(jù)權(quán)限的控制。

Q:動態(tài)權(quán)限分配?
A:擴展org.apache.shiro.realm.Realm,支持動態(tài)權(quán)限分配。

Q:與Spring集成?
A:可以支持與Spring集成,shiro還支持jsp標簽。

在shiro架構(gòu)中,有3個最主要的組件:Subject,SecurityManager,Realm。
Subject本質(zhì)上就是當前訪問用戶的抽象描述。
SecurityManager是Shiro架構(gòu)中最核心的組件,通過它可以協(xié)調(diào)其他組件完成用戶認證和授權(quán)。實際上,SecurityManager就是Shiro框架的控制器。
Realm定義了訪問數(shù)據(jù)的方式,用來連接不同的數(shù)據(jù)源,如:LDAP,關系數(shù)據(jù)庫,配置文件等等。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容