1. 程式人生 > >SSM框架整合Apache Shiro,實現安全登入驗證和許可權驗證功能

SSM框架整合Apache Shiro,實現安全登入驗證和許可權驗證功能

第一部分 Apache Shiro的簡介 

1、什麼是 apache shiro :


Apache Shiro是一個功能強大且易於使用的Java安全框架,提供了認證,授權,加密,和會話管理

如同 spring security 一樣都是是一個許可權安全框架,但是與Spring Security相比,在於他使用了和比較簡潔易懂的認證和授權方式。


2、Apache Shiro 的三大核心元件:


1、Subject :當前使用者的操作

2、SecurityManager:用於管理所有的Subject

3、Realms:用於進行許可權資訊的驗證

Subject:即當前使用者,在許可權管理的應用程式裡往往需要知道誰能夠操作什麼,誰擁有操作該程式的權利,shiro中則需要通過Subject來提供基礎的當前使用者資訊,Subject 不僅僅代表某個使用者,也可以是第三方程序、後臺帳戶(Daemon Account)或其他類似事物。

SecurityManager:即所有Subject的管理者,這是Shiro框架的核心元件,可以把他看做是一個Shiro框架的全域性管理元件,用於排程各種Shiro框架的服務。

Realms:Realms則是使用者的資訊認證器和使用者的許可權人證器,我們需要自己來實現Realms來自定義的管理我們自己系統內部的許可權規則。


3、Authentication 和 Authorization


在shiro的使用者許可權認證過程中其通過兩個方法來實現:

1、Authentication:是驗證使用者身份的過程。

2、Authorization:是授權訪問控制,用於對使用者進行的操作進行人證授權,證明該使用者是否允許進行當前操作,如訪問某個連結,某個資原始檔等。

4、其他元件:


除了以上幾個元件外,Shiro還有幾個其他元件:

1、SessionManager :Shiro為任何應用提供了一個會話程式設計正規化。

2、CacheManager :對Shiro的其他元件提供快取支援。 


5、Shiro 完整架構圖: 

第二部分 Apache Shiro 整合Spring的Web程式構建 

1、資料庫表

首先需要3張表,分別為 user(使用者)、role(角色)、permission(許可權)

ps:還沒寫完,有時間再補充!