Apache Shiro系列一,概述 初識

2021-09-07 07:51:52 字數 1562 閱讀 8868

一、什麼是

shiro

apache shiro

是乙個強大、靈活、開源的安全框架,它支援使用者認證、許可權控制、企業會話管理以及加密等。

apache shiro

的第乙個也是最重要的乙個目標就是易於使用和理解。對應用程式做安全管理常常很複雜,甚至很痛苦,但是實際上完全可以避免。乙個好的安全安全管理框架應該能夠將複雜度隱藏在框架內部,對外提供簡潔、直觀的

api,以便使用者可以很簡單的給應用新增安全控制。

下面是apache shiro

能夠提供給我們的一些特性:

#,做使用者身份認證;

#,做訪問許可權控制,比如:

#,這個使用者是否被賦予了某個角色;

#,這個使用者是否有許可權做某件事情;

#,可以在任何環境下使用使用者會話管理,即便沒有

web或者

ejb容器也可以;

#,可以整合多種型別的使用者許可權資料(比如關聯式資料庫、

ldap

等)到乙個使用者檢視介面;

#,支援單點登入(

single sign on sso);

#,支援

記住秘密

服務。

shiro

盡力為各種應用程式的環境來達成以上的目標——從簡單的命令列程式到大型企業應用,不要求支援任何第三方的框架、容器或者應用伺服器。當然,

shiro

會盡力與這些環境整合,但是

shiro

的執行絕對不會依賴於這些環境。

二、apache shiro

的特性

shiro

的特性很多,下圖展示了

shiro

的架構,從中我們可以了解到

shiro

聚焦在**,並且我們這個系列的文件也是按照類似的結構來組織。

聚焦與應用程式安全領域的四大基石:認證、授權、會話管理和保密。

#,認證,也叫作登入,用於驗證使用者是不是他自己所說的那個人;

#,授權,也就是訪問控制,比如用於決定「誰」是否有許可權訪問「什麼」;

#,會話管理,管理使用者相關的會話,即使在非

web和

ejb的環境下也支援;

#,保密,使用特性加密演算法來保證使用者資料的安全性,同時還要保證用起來夠簡單;

同時shiro

還提供了其他特性來在不同的應用程式環境下使用強化以上的四大基石:

#,web

支援:shiro

的web

相關的api

簡化了web

應用安全控制;

#,快取,在

shiro

中,快取是一等公民,用於保證使用者認證和許可權控制的效能;

#,測試,支援可測試性,以便使用者可以方便的對安全相關**編寫單元測試和整合測試;

#,記住密碼,可以跨會話的記住使用者的身份資訊,以便只有在一些強制性的場合才需要登入。

官方文件:

來自為知筆記(wiz)

Spring系列(一)概述 結構

詳細的內容轉w3 spring教程 spring體系結構 控制反轉 依賴注入 非入侵式 容器 面向切面程式設計 元件化 一站式 最主要的特點是控制反轉和依賴注入 spring 框架提供約 20 個模組,可以根據應用程式的要求來使用。核心容器由spring core,spring beans,spri...

C語言筆記系列 一 概述

設計特性 融合了控制特性的現代語言,可以表現出只要彙編才具有的精細控制能力 高效性 c程式緊湊且執行速度快 可移植性 在乙個系統上編譯的c程式經過很少改動或不修改可移植到另乙個系統,c編譯器大約在40多個系統可用 強大功能和靈活性 強大的unix系統大部分就是c寫的還有很多其他語言的編譯器是用c寫的...

HTTP協議系列教材 (一) 概念

http 超文字傳輸協議hypertexttransferprotocol 當我們在瀏覽器的位址列輸入乙個位址的時候,就能夠訪問伺服器的某個頁面 這個過程本身就是兩個應用程式之間的互動,乙個應用程式是瀏覽器,另乙個應用程式是伺服器。協議是什麼?協議就是不同的應用程式之間按照事先做好的約定進行的通訊。...