shiro(1) 介绍
生活随笔
收集整理的這篇文章主要介紹了
shiro(1) 介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、什么是shiro(1)屬性:java框架(2)用途:身份驗證、用戶授權、加密、會話管理(3)優點:輕量、易用
二、三大組件(1)subject:代表當前主體,與當前應用交互的任何東西都是subject;(2)SecurityManager?:安全管理器,所有有關安全的操作均與此有關。是shiro核心,負責與其他組件交互。(3)Realms:域。Shiro 從 Realm 獲取安全數據(如用戶、角色、權限),就是說 SecurityManager 要驗證用戶身份,那么它需要從 Realm 獲取相應的用戶進行比較以確定用戶身份是否合法,也需要從 Realm 得到用戶相應的角色/權限進行驗證用戶是否能進行操作。舉個例子:
小明,小紅、小強和小剛買火車票回家,此時整個火車站(包括售票機,工作人員,火車)都屬于subject,與用戶進行交互。
進入火車站時需要檢票,檢票人員需要核對票的有效性,發現小剛的票是假的,就拒絕他進入。核票時,需要從數據庫獲取信息,此時數據庫就是域,用于提供用戶信息。進入候車廳后,小強突然大發雷霆,隨意傷人,被巡邏的安保人員扣下。此時安保人員充當SecurityManager?,用來控制操作安全。
三、其他組件Authenticator:認證器,用于用戶身份確認。相當于檢票人員。Authorizer:授權器,用于判斷用戶是否有權限操作。比如,小紅是一等座,小明是無座,小明若是強行占座,就會被抓起來。Session Manager:會話管理,即用戶登錄后就是一次會話,在沒有退出之前,它的所有信息都在會話中;小明到站后,再想上火車,就必須再買票檢票。Cryptography:加密,保護數據的安全性,如密碼加密存儲到數據庫,而不是明文存儲;火車票上的信息都會進行加密處理,防止壞人獲取。CacheManager:緩存管理,將用戶權限數據存儲在緩存,這樣可以提高性能。列車員會進行用戶登記,登記過一次后就不再查票了。Cryptography即密碼管理,shiro提供了一套加密/解密的組件,方便開發。比如提供常用的散列、加/解密等功能。比如火車票上的二維碼,掃碼時可以獲取當前車次信息。
二、三大組件(1)subject:代表當前主體,與當前應用交互的任何東西都是subject;(2)SecurityManager?:安全管理器,所有有關安全的操作均與此有關。是shiro核心,負責與其他組件交互。(3)Realms:域。Shiro 從 Realm 獲取安全數據(如用戶、角色、權限),就是說 SecurityManager 要驗證用戶身份,那么它需要從 Realm 獲取相應的用戶進行比較以確定用戶身份是否合法,也需要從 Realm 得到用戶相應的角色/權限進行驗證用戶是否能進行操作。舉個例子:
小明,小紅、小強和小剛買火車票回家,此時整個火車站(包括售票機,工作人員,火車)都屬于subject,與用戶進行交互。
進入火車站時需要檢票,檢票人員需要核對票的有效性,發現小剛的票是假的,就拒絕他進入。核票時,需要從數據庫獲取信息,此時數據庫就是域,用于提供用戶信息。進入候車廳后,小強突然大發雷霆,隨意傷人,被巡邏的安保人員扣下。此時安保人員充當SecurityManager?,用來控制操作安全。
三、其他組件Authenticator:認證器,用于用戶身份確認。相當于檢票人員。Authorizer:授權器,用于判斷用戶是否有權限操作。比如,小紅是一等座,小明是無座,小明若是強行占座,就會被抓起來。Session Manager:會話管理,即用戶登錄后就是一次會話,在沒有退出之前,它的所有信息都在會話中;小明到站后,再想上火車,就必須再買票檢票。Cryptography:加密,保護數據的安全性,如密碼加密存儲到數據庫,而不是明文存儲;火車票上的信息都會進行加密處理,防止壞人獲取。CacheManager:緩存管理,將用戶權限數據存儲在緩存,這樣可以提高性能。列車員會進行用戶登記,登記過一次后就不再查票了。Cryptography即密碼管理,shiro提供了一套加密/解密的組件,方便開發。比如提供常用的散列、加/解密等功能。比如火車票上的二維碼,掃碼時可以獲取當前車次信息。
轉載于:https://www.cnblogs.com/miys/p/10538680.html
總結
以上是生活随笔為你收集整理的shiro(1) 介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何给代码自动添加注释?
- 下一篇: 如何学好Spring