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

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

Shiro工作原理的解析

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

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

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

核心組件:

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

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

Realm:領(lǐng)域,充當(dāng)了Shiro與應(yīng)用安全數(shù)據(jù)間的“橋梁”或者“連接器”。也就是說,當(dāng)對用戶執(zhí)行認(rèn)證(登錄)和授權(quá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)用效率,增加用戶體驗。

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é)點的Shiro入門視頻,里面的課程內(nèi)容由淺到深,通俗易懂,適合小白學(xué)習(xí),希望對大家能夠有所幫助。

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

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 在线观看精品91老司机 | 亚洲国产精品一区二区久 | 久久99精品久久久久久秒播放器 | 久草视频在线免费看 | 男人深夜影院 | 在线播放不卡 | 久久噜噜噜久久亚洲va久 | 色综久久 | 国产资源一区 | 7799国产精品久久久久99 | 日韩伦理一区二区 | 日韩深夜视频 | 日韩精品一区二区三区视频 | 欧美亚洲国产一区二区三区 | 激情五月婷婷红人馆 | 中文字幕视频免费在线观看 | 香蕉网伊在线中文慕大全 | 亚洲人精品| 精品国产一区二区三区19 | 青青青国产在线视频 | 国产精品视频永久免费播放 | 性ao爱大片 | 国产精品国偷自产在线 | 久久99爰这里有精品国产 | 久久精品入口麻豆 | 日本美女久久 | 欧美日本视频在线观看 | 亚洲天堂一区二区 | 日本黄色录象 | 日日摸夜夜爽久久综合 | 天堂网在线观看 | 成人xxx免费视频播放 | 日韩高清一区二区 | 欧美精品亚洲人成在线观看 | 乱人伦99久久| 一区二区三区 日韩 | 奇米影视在线观看 | 亚洲精品片 | 亚洲一区二区中文字幕 | 国内精品久久久久久久星辰影视 | 久久伊人久久亚洲综合 |