前言
本文主要是記錄自己學習Shiro框架的過程以及內(nèi)容心得等,防止自己忘記中符。
什么是Shiro?
Shiro是一個強大的輕量級Java安全框架姜胖,主要負責執(zhí)行身份驗證,授權(quán)舟茶,加密和會話管理谭期。
主要架構(gòu)
Shiro主要由三個核心組件構(gòu)成:Subject
,SecurityManager
和Realm
,他們之間的關(guān)系大致如下圖:
Shiro.png
- Subject:指的是當前操作的用戶吧凉,這里的用戶包括用戶隧出、第三方進程等等。即為當前與系統(tǒng)交互的對象阀捅。Subject代表了當前用戶的安全操作胀瞪,SecurityManager則管理所有用戶的安全操作。
- SecurityManager:即安全管理員饲鄙,整個框架的核心凄诞。Shiro通過SecurityManager來管理內(nèi)部組件實例,并通過它來提供安全管理的各種服務(wù)忍级。
- Realm:用于Shiro與安全數(shù)據(jù)之間的橋梁帆谍。即當對用戶在進行授權(quán)或認證的時候,Shiro會從Realm中查找用戶及其權(quán)限信息等轴咱。
Shiro.jpg