日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Shiro的架构介绍

發布時間:2025/3/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shiro的架构介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【摘錄自 Apache shiro?使用手冊】?

首先,來了解一下Shiro的三個核心組件:Subject, SecurityManager Realms. 如下圖:?
?
Subject
:即當前操作用戶。但是,在Shiro中,Subject這一概念并不僅僅指人,也可以是第三方進程、后臺帳戶(Daemon Account)或其他類似事物。它僅僅意味著當前跟軟件交互的東西。但考慮到大多數目的和用途,你可以把它認為是Shiro用戶概念。?
Subject
代表了當前用戶的安全操作,SecurityManager則管理所有用戶的安全操作。?

SecurityManager
:它是Shiro框架的核心,典型的Facade模式,Shiro通過SecurityManager來管理內部組件實例,并通過它來提供安全管理的各種服務。?

Realm
Realm充當了Shiro與應用安全數據間的橋梁或者連接器。也就是說,當對用戶執行認證(登錄)和授權(訪問控制)驗證時,Shiro會從應用配置的Realm中查找用戶及其權限信息。?
從這個意義上講,Realm實質上是一個安全相關的DAO:它封裝了數據源的連接細節,并在需要時將相關數據提供給Shiro。當配置Shiro時,你必須至少指定一個Realm,用于認證和(或)授權。配置多個Realm是可以的,但是至少需要一個。?
Shiro
內置了可以連接大量安全數據源(又名目錄)的Realm,如LDAP、關系數據庫(JDBC)、類似INI的文本配置資源以及屬性文件等。如果缺省的Realm不能滿足需求,你還可以插入代表自定義數據源的自己的Realm實現。?


Shiro完整架構圖:?

?
除前文所講SubjectSecurityManagerRealm三個核心組件外,Shiro主要組件還包括:?
Authenticator
:認證就是核實用戶身份的過程。這個過程的常見例子是大家都熟悉的用戶/密碼組合。多數用戶在登錄軟件系統時,通常提供自己的用戶名(當事人)和支持他們的密碼(證書)。如果存儲在系統中的密碼(或密碼表示)與用戶提供的匹配,他們就被認為通過認證。?
Authorizer
:授權實質上就是訪問控制 - 控制用戶能夠訪問應用中的哪些內容,比如資源、Web頁面等等。?
SessionManager
:在安全框架領域,Apache Shiro提供了一些獨特的東西:可在任何應用或架構層一致地使用Session API。即,Shiro為任何應用提供了一個會話編程范式 - 從小型后臺獨立應用到大型集群Web應用。這意味著,那些希望使用會話的應用開發者,不必被迫使用ServletEJB容器了。或者,如果正在使用這些容器,開發者現在也可以選擇使用在任何層統一一致的會話API,取代ServletEJB機制。?
CacheManager :
Shiro的其他組件提供緩存支持。?

?

?

轉載于:https://blog.51cto.com/1708007/1191840

總結

以上是生活随笔為你收集整理的Shiro的架构介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。