關(guān)于shiro登錄安全技術(shù)的總結(jié)
Shiro中的登錄與傳統(tǒng)登錄不同的流程為:

(1)在realm中提供的info和token的含義:
Token是取出登錄界面用戶輸入的密碼和用戶名
Info是從數(shù)據(jù)庫(kù)中取出的用戶名和密碼
(2)在realm域中有認(rèn)證和授權(quán)兩個(gè)模塊,shiro對(duì)外界提供subject接口對(duì)shiro框架進(jìn)行調(diào)用,如果進(jìn)行數(shù)據(jù)的校驗(yàn)比對(duì)正確的話會(huì)進(jìn)行success.jsp的頁(yè)面的跳轉(zhuǎn),如果需要授權(quán)的話進(jìn)入realm中進(jìn)行授權(quán)的操作
認(rèn)證:進(jìn)行頁(yè)面密碼和用戶名與數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行比對(duì)
授權(quán):確認(rèn)該用戶是否具有該模塊的權(quán)限
(并不是subject對(duì)與realm域的調(diào)用而是subject交給securityManager進(jìn)行認(rèn)證和授權(quán)方法的調(diào)用)
(3)shiro框架的核心是securityManager安全管理器,他管理者所有的subject,而subject可以當(dāng)做是一個(gè)門面,與subject所有的交互其實(shí)最終還是有securityManager來(lái)完成
(4)在web.xml進(jìn)行配置過(guò)濾器的時(shí)候一定放在struts2過(guò)濾器的前面,Apache公司提供了10個(gè)過(guò)濾器供大家選擇,但是配置時(shí)為了簡(jiǎn)化操作,Apache公司只需我們?cè)趙eb.xml配置一個(gè)過(guò)濾器(過(guò)濾器鏈)即可,這個(gè)過(guò)濾器會(huì)包括上述十個(gè)過(guò)濾器.具體配置為(spring提供)

(5)在集成ssh框架時(shí)候,如果hibernate的版本超過(guò)4.X的時(shí)候即使在web.xml里面配置

openSessionInviewFilter懶加載的時(shí)候還是會(huì)出現(xiàn)報(bào)錯(cuò)問(wèn)題,需要在hibernate.cfg.xml文件中進(jìn)行另一項(xiàng)配置才能解決這一問(wèn)題:

(6)關(guān)于shiro底層自動(dòng)集成緩存技術(shù)的配置文件詳細(xì)解釋:

(7)想要在項(xiàng)目中正確運(yùn)行該項(xiàng)技術(shù)需要進(jìn)行如下配置(默認(rèn)是ssh版本)
需要引入:application-shiro.xml文件
ehcache-shiro.xml文件
在web層進(jìn)行密碼比較器和realm域的創(chuàng)建
(8)如何在認(rèn)證方法(代碼)

(9)授權(quán)方法的創(chuàng)建:


(10)自定義密碼比較器的創(chuàng)建

(11)對(duì)與shiromd5加密工具類的自定義:

Md5hash為apache公司提供對(duì)與md5加密的升級(jí)