日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Shiro架构

發布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shiro架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 shiro介紹

  shiroapache的一個開源框架,是一個權限管理的框架,實現 用戶認證、用戶授權、加密、會話管理等功能,組成了一個通用的安全認證框架。

2 總覽

? ?在最頂層,Shiro的架構有3個主要概念:Subject、SecurityManager和Realms。

? ?

2.1 Subject

  Subject即主體,外部應用與subject進行交互,subject記錄了當前操作用戶,將用戶的概念理解為當前操作的主體,可能是一個通過瀏覽器請求的用戶,也可能是一個運行的程序。

  Subjectshiro中是一個接口,接口中定義了很多認證授相關的方法,外部程序通過subject進行認證授,而subject是通過SecurityManager安全管理器進行認證授權。

2.2?SecurityManager

  SecurityManager即安全管理器,對全部的subject進行安全管理,它是shiro的核心,負責對所有的subject進行安全管理。通過SecurityManager可以完成subject的認證、授權等。

2.3 Realm

? ??Realm即領域,相當于datasource數據源。連接shiro與用戶數據的橋梁,shiro需要訪問用戶的安全數據時,如:用戶認證和授權,通過系統配置的各種realm從數據源讀取數據。

?

3 詳細說明

  

?

? ? ??

  subject:主體,可以是用戶也可以是程序,主體要訪問系統,系統需要對主體進行認證、授權。

  securityManager:安全管理器,主體進行認證和授權都 是通過securityManager進行。

  authenticator:認證器,主體進行認證最終通過authenticator進行的。

?

  authorizer:授權器,主體進行授權最終通過authorizer進行的。

?

  sessionManagerweb應用中一般是用web容器對session進行管理,shiro也提供一套session管理的方式。

  SessionDao: ?通過SessionDao管理session數據,針對個性化的session數據存儲需要使用sessionDao

?

  cacheManager:緩存管理器,主要對session和授權數據進行緩存,比如將授權數據通過cacheManager進行緩存管理,和ehcache整合對緩存數據進行管理。

?

?  realm:域,領域,相當于數據源,通過realm存取認證、授權相關數據。

  注意:在realm中存儲授權和認證的邏輯。

?

?  cryptography密碼管理,提供了一套加密/解密的組件,方便開發。比如提供常用的散列、加/解密等功能。比如 md5散列算法。

?

4 jar包

?  shiro-core:核心包,shiro-web:與Web整合,shiro-spring:與spring整合,shiro-quartz:與任務調度整合

<dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>1.3.2</version> </dependency> <dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-web</artifactId><version>1.3.2</version> </dependency> <dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId><version>1.3.2</version> </dependency> <dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-ehcache</artifactId><version>1.3.2</version> </dependency> <dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-quartz</artifactId><version>1.3.2</version> </dependency>

  也可以簡單粗暴的引入所有的jar包

<dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-all</artifactId><version>1.3.2</version> </dependency>

?

5 官網地址 

  http://shiro.apache.org/

?

轉載于:https://www.cnblogs.com/zhangxianming/p/8654906.html

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的Shiro架构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。