關(guān)于shiro技術(shù)的總結(jié)

關(guān)于shiro登錄安全技術(shù)的總結(jié)

Shiro中的登錄與傳統(tǒng)登錄不同的流程為:

shiro登錄方式

(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提供)

shiro核心過(guò)濾器配置

(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)題:

在hibernate.cfg.xml中的配置

(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)證方法(代碼)

認(rèn)證方法

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


認(rèn)證方法

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

密碼比較器

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

工具類使用Apache公司提供的方法

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 Spring boot 是什么,網(wǎng)上的很多介紹,這里博客就不多介紹了。如果不明白Spring boot是什么...
    xuezhijian閱讀 18,015評(píng)論 13 39
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • 一 shiro 是什么 shiro 是一個(gè)功能強(qiáng)大和易于使用的Java安全框架,為開(kāi)發(fā)人員提供一個(gè)直觀而全面的解決...
    司鑫閱讀 58,442評(píng)論 17 98
  • 一、架構(gòu) 要學(xué)習(xí)如何使用Shiro必須先從它的架構(gòu)談起,作為一款安全框架Shiro的設(shè)計(jì)相當(dāng)精妙。Shiro的應(yīng)用...
    ITsupuerlady閱讀 3,617評(píng)論 4 32
  • 連日的大雨和臺(tái)風(fēng),將深圳的夜晚洗刷得格外安靜。窗外透進(jìn)來(lái)的燈光淡如蠼影,今天七夕。 自從12點(diǎn)整寫(xiě)完這封標(biāo)題就叫《...
    有一例外閱讀 1,798評(píng)論 0 1

友情鏈接更多精彩內(nèi)容