日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

學習Shiro的時候,閱讀過很多優秀的文章,比如《跟我學Shiro》系列等等。于是結合自己的實際情況,自己整理了一部分。這是第一篇文章,旨在從基礎案例出發了解其原理。

一、認識Shiro

1、簡介

Shiro是Apache的一個安全權限框架,比如說我們都遇到過這樣一種情況,我們下載完某個軟件的時候,然后登陸。突然發現我們可以使用好幾種身份去登陸。比如說游客、會員身份、普通用戶等。

Shiro安全框架之基礎原理和案例

 

我們使用的身份不同,展示的界面是不一樣的。Shiro就是要完成這樣一個功能,用戶以不同的身份登陸,Shiro安全驗證之后展示不同的界面。

他的重要性就不說了,只要是個好一點的網站或者是App都會使用到。

2、功能簡介

上面的例子只是讓我們認識一下Shiro。我們給出一張完整的功能圖,整體來認識一下:

Shiro安全框架之基礎原理和案例

 

從上面這張圖我們可以看到,主要包含了兩大部分。

第一部分:primary concerns(主要解決的問題)

(1)Authentication:身份認證/登錄,驗證用戶是不是擁有相應的身份;

(2)Authorization:授權,即權限驗證,驗證某個已認證的用戶是否擁有某個權限,比如說王者榮耀里面普通用戶沒有皮膚,交了錢就可以有使用會員皮膚的權限了。

(3)Session Manager:會話管理,用戶登錄就是一次會話,在沒有退出之前,它的所有信息都在會話中;

(4)Cryptography:加密,保護數據的安全性。這個如何理解呢?平時自己學習的時候,往MySQL數據庫里面都是存儲的用戶名和密碼,但是真實情況下肯定就不是這樣了,只保存加密后的密碼。

第二部分:支持的技術

(1)Web Support:Web支持;

(2)Caching:緩存用戶的登錄、角色、權限信息;

(3)Concurrency:支持多線程并發驗證,一個線程能把權限自動傳播到另一個線程;

(3)Testing:測試支持;

(4)Run As:允許一個用戶假裝為另一個用戶的身份進行訪問;

(5)Remember Me:記住我,即一次登錄后,下次再來的話不用登錄了。淘寶網經常看到。

3、實現原理

上面我們知道了Shiro能干什么,這一小節主要解決的是如何做的問題。

Shiro安全框架之基礎原理和案例

 

這張圖結合了外部結構和內部結構,我們認識一下里面涉及到的概念。

(1)Subject

他指代的是當前用戶,比如說游客、VIP等,當然可以不是具體的人。也可以某個機器。

(2)Security Manager

他表示的是安全管理器,用戶使用Shiro不同的功能,安全管理器就調用不同的模塊進行管理。比如說你想要驗證當前用戶是否有權限登錄系統。安全管理區就會調用Authenticator。在比如說你想讓當前的用戶可以使用那些功能,安全管理器就會調用Authrizer

(3)Realm

realm表示數據源,比如說你要想驗證用戶身份是游客還是會員,realm就提前把這些用戶和權限先保存了,Shiro然后調用realm里面的數據進行驗證。

OK,這就是其基本原理很簡單。下面我們就看一個例子,看看Shiro到底如何使用。

二、基礎案例

第一步:添加jar包或者是依賴

我是在maven進行管理的,所以你只需要添加以下依賴即可

Shiro安全框架之基礎原理和案例

 

如果你沒有使用maven,那就直接在百度上搜索下列jar包導入eclipse中即可。

Shiro安全框架之基礎原理和案例

 

第二步:在Src目錄下面創建log4j.properties

這個文件是和日志相關的文件。直接復制粘貼即可

Shiro安全框架之基礎原理和案例

 

第三步:在src下面創建shiro.ini文件

這個文件里面保存了Shiro的各種信息,他的作用就好比是realm(暫時先這樣理解)。

Shiro安全框架之基礎原理和案例

 

第四步:創建Test.JAVA用戶登錄,開始驗證

Shiro安全框架之基礎原理和案例

 


Shiro安全框架之基礎原理和案例

 


Shiro安全框架之基礎原理和案例

 

由于代碼太長,我們分開來寫,用戶登錄成功之后就可以做其他事情了

Shiro安全框架之基礎原理和案例

 

這就是整個執行流程。我們只需要看上面的代碼就能明白,不過在實際當中肯定是不會在SE中這樣寫的,一般都是要結合SpringBoot或者是SSM。下一篇文章,我們將直接介紹SpringBoot整合Shiro。然后對Shiro中的每一個功能,進行一個細致的介紹。如有問題還請指正。

分享到:
標簽:Shiro
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定