# 1. Introduction 介紹
# 1. Introduction 介紹
## What is Apache Shiro?
Apache Shiro是一個功能強大、靈活的,開源的安全框架。它可以干凈利落地處理身份驗證、授權、企業會話管理和加密。
Apache Shiro的首要目標是易于使用和理解。安全通常很復雜,甚至讓人感到很痛苦,但是Shiro卻不是這樣子的。一個好的安全框架應該屏蔽復雜性,向外暴露簡單、直觀的API,來簡化開發人員實現應用程序安全所花費的時間和精力。
Shiro能做什么呢?
- 驗證用戶身份
- 用戶訪問權限控制,比如:
- 判斷用戶是否分配了一定的安全角色。
- 判斷用戶是否被授予完成某個操作的權限
- 在非 web 或 EJB 容器的環境下可以任意使用Session API
- 可以響應認證、訪問控制,或者 Session 生命周期中發生的事件
- 可將一個或以上用戶安全數據源數據組合成一個復合的用戶 "view"(視圖)
- 支持單點登錄(SSO)功能
- 支持提供“Remember Me”服務,獲取用戶關聯信息而無需登錄
…
等等——都集成到一個有凝聚力的易于使用的API。
Shiro 致力在所有應用環境下實現上述功能,小到命令行應用程序,大到企業應用中,而且不需要借助第三方框架、容器、應用服務器等。當然 Shiro 的目的是盡量的融入到這樣的應用環境中去,但也可以在它們之外的任何環境下開箱即用。
## Apache Shiro Features 特性
Apache Shiro是一個全面的、蘊含豐富功能的安全框架。下圖為描述Shiro功能的框架圖:

Authentication(認證), Authorization(授權), Session Management(會話管理), Cryptography(加密)被 Shiro 框架的開發團隊稱之為應用安全的四大基石。那么就讓我們來看看它們吧:
- **Authentication(認證):**用戶身份識別,通常被稱為用戶“登錄”
- **Authorization(授權):**訪問控制。比如某個用戶是否具有某個操作的使用權限。
- **Session Management(會話管理):**特定于用戶的會話管理,甚至在非web 或 EJB 應用程序。
- **Cryptography(加密):**在對數據源使用加密算法加密的同時,保證易于使用。
還有其他的功能來支持和加強這些不同應用環境下安全領域的關注點。特別是對以下的功能支持:
- Web支持:Shiro 提供的 web 支持 api ,可以很輕松的保護 web 應用程序的安全。
- 緩存:緩存是 Apache Shiro 保證安全操作快速、高效的重要手段。
- 并發:Apache Shiro 支持多線程應用程序的并發特性。
- 測試:支持單元測試和集成測試,確保代碼和預想的一樣安全。
- "Run As":這個功能允許用戶假設另一個用戶的身份(在許可的前提下)。
- "Remember Me":跨 session 記錄用戶的身份,只有在強制需要時才需要登錄。
- Introduction
- 1. Introduction 介紹
- 2. Tutorial 教程
- 3. Architecture 架構
- 4. Configuration 配置
- 5. Authentication 認證
- 6. Authorization 授權
- 6.1. Permissions 權限
- 7. Realms
- 8. Session Management
- 9. Cryptography 密碼
- 10. Web
- 10.1. Configuration 配置
- 10.2. 基于路徑的 url 安全
- 10.3. Default Filters 默認過濾器
- 10.4. Session Management
- 10.5. JSP Tag Library
- 11. Caching 緩存
- 12. Concurrency & Multithreading 并發與多線程
- 13. Testing 測試
- 14. Custom Subjects 自定義 Subject
- 15. Spring Framework
- 16. Guice
- 17. CAS
- 18. Command Line Hasher
- 19. Terminology 術語
- 20. 10 Minute Tutorial 十分鐘教程
- 21. Beginner's Webapp Tutorial 初學者web應用教程
- 22. Application Security With Apache Shiro 用Shiro保護你的應用安全
- 23. CacheManager 緩存管理
- 24. Apache Shiro Cryptography Features 加密功能