大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Shiro工作原理的解析

Shiro工作原理的解析

更新時間:2022-07-18 12:19:26 來源:動力節(jié)點(diǎn) 瀏覽1975次

Java教程中,大家會學(xué)到shiro框架,Apache Shiro是一個強(qiáng)大而靈活的開源安全框架,它能夠干凈利落地處理身份認(rèn)證、授權(quán)、企業(yè)會話管理和加密。相比spring security框架更簡單靈活,spring security對spring依賴較強(qiáng)。shiro可以實(shí)現(xiàn)web系統(tǒng)、c/s、分布式等系統(tǒng)權(quán)限管理。

Shiro完整架構(gòu)圖,如下圖:

核心組件:

Subject:主體,即當(dāng)前操作用戶

SecurityManager:安全管理器,它是Shiro框架的核心,典型的Facade模式,Shiro通過SecurityManager來管理內(nèi)部組件實(shí)例,并通過它來提供安全管理的各種服務(wù)

Realm:領(lǐng)域,充當(dāng)了Shiro與應(yīng)用安全數(shù)據(jù)間的“橋梁”或者“連接器”。也就是說,當(dāng)對用戶執(zhí)行認(rèn)證(登錄)和授權(quán)(訪問控制)驗(yàn)證時,Shiro會從應(yīng)用配置的Realm中查找用戶及其權(quán)限信息

Authenticator:認(rèn)證器,AuthenticationStrategy如果存在多個realm,則按著具體的策略進(jìn)行登錄控制,例如:如果有一個realm成功即可登錄、必須所有realm都成功才能登錄等

Authorizer:授權(quán)器,決定subject能擁有什么樣角色或者權(quán)限。

SessionManager:session管理器,創(chuàng)建和管理用戶session。通過設(shè)置這個管理器,shiro可以在任何環(huán)境下使用session。

CacheManager:緩存管理器,可以減少不必要的后臺訪問。提高應(yīng)用效率,增加用戶體驗(yàn)。

Cryptography:Shiro的api大幅度簡化java api中繁瑣的密碼加密。

Shiro認(rèn)證流程:

subject(主體)請求認(rèn)證,調(diào)用subject.login(token)

SecurityManager (安全管理器)執(zhí)行認(rèn)證

SecurityManager通過ModularRealmAuthenticator進(jìn)行認(rèn)證。

ModularRealmAuthenticator將token傳給realm,realm根據(jù)token中用戶信息從數(shù)據(jù)庫查詢用戶信息(包括身份和憑證)

realm如果查詢不到用戶給ModularRealmAuthenticator返回null,ModularRealmAuthenticator拋出異常(用戶不存在)

realm如果查詢到用戶給ModularRealmAuthenticator返回AuthenticationInfo(認(rèn)證信息)

ModularRealmAuthenticator拿著AuthenticationInfo(認(rèn)證信息)去進(jìn)行憑證(密碼)比對。如果一致則認(rèn)證通過,如果不致拋出異常(憑證錯誤)。

Shiro授權(quán)流程:

對subject進(jìn)行授權(quán),調(diào)用方法isPermitted("*")或者h(yuǎn)asRole("*")

SecurityManager執(zhí)行授權(quán),通過ModularRealmAuthorizer執(zhí)行授權(quán)

ModularRealmAuthorizer執(zhí)行realm(自定義的CustomRealm)從數(shù)據(jù)庫查詢權(quán)限數(shù)據(jù)調(diào)用realm的授權(quán)方法:doGetAuthorizationInfo

realm從數(shù)據(jù)庫查詢權(quán)限數(shù)據(jù),返回ModularRealmAuthorizer

ModularRealmAuthorizer調(diào)用PermissionResolver進(jìn)行權(quán)限串比對

如果比對后,isPermitted中"permission串"在realm查詢到權(quán)限數(shù)據(jù)中,說明用戶訪問permission串有權(quán)限,否則沒有權(quán)限,拋出異常。

以上就是關(guān)于“Shiro工作原理的解析”的介紹,大家如果對此比較感興趣,想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點(diǎn)的Shiro入門視頻,里面的課程內(nèi)容由淺到深,通俗易懂,適合小白學(xué)習(xí),希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 老扒夜夜春宵粗大好爽aa毛片 | 免费观看黄a一级视频日本 免费观看黄色 | 神马视频我不卡 | 偷偷狠狠的日日高清完整视频 | 欧美成人四级hd版 | 四房婷婷在线视频播放 | 99视频在线精品 | 视频一区欧美 | 高清视频 一区二区三区四区 | 亚州毛色毛片免费观看 | 欧美jizz18性欧美 | 四虎国产精品免费五月天 | 一区二区三区高清 | 色就操 | 国产女人18一级毛片视频 | 国产精品免费观在线 | 亚洲欧美日韩在线一区 | 精品国产免费观看一区 | 视频国产91 | 5151四虎永久在线精品免费 | 公主恋人ova | 国产 麻豆 欧美亚洲综合久久 | 国产精品四虎视频一区 | 另类久久 | 奇米影视第四色888 奇米影视第四色首页 | 变态 调教 视频 国产九色 | 成人午夜爽爽爽免费视频 | 青青青国产 | 狠狠狠综合色 | 亚洲成人网在线 | 青青青青青青久久久免费观看 | 亚洲在线激情 | 亚洲国产品综合人成综合网站 | 国产农村精品一级毛片视频 | 日日干夜夜操 | 久久国产精品吴梦梦 | 亚洲欧美另类在线视频 | 国产精品久久久久久一区二区三区 | 国产视频一区二区在线播放 | 久久99精品久久久久久黑人 | 亚洲国产精久久久久久久春色 |