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:還沒寫完,有時間再補充!