Shiro教學

Apache Shiro是一個強大靈活的開源安全框架,可以完全處理身份驗證,授權,企業會話管理和加密。
Apache Shiro的首要目標是易於使用和理解。 安全有時可能非常複雜,甚至痛苦,但使用Shiro後就不一定是這樣了。 框架應該在可能的情況下掩蓋複雜性,並展示一個乾淨,直觀的API,這簡化了開發人員工作,並使應用程式更安全。

這裏有一些可以使用Apache Shiro完全的應用場景:

  • 驗證用戶以及驗證其身份。
  • 對用戶執行訪問控制,例如:
    • 確定用戶是否分配了某個安全角色。
    • 確定用戶是否被允許執行操作。
  • 在任何環境中使用會話API,即使沒有Web或EJB容器。
  • 在身份驗證,訪問控制或會話有效期內對事件做出反應。
  • 聚合1個或多個用戶安全數據的數據源,並將此全部顯示為單個複合用戶的“視圖”。
  • 啟用單點登錄(SSO)功能。
  • 為用戶關聯啟用“記住我”服務,無需登錄。
    … 和更多 - 所有都集成到一個內聚易於使用的API。

Shiro嘗試為所有應用程式環境實現這些目標 - 從最簡單的命令行應用程式到最大的企業應用程式,而不強制依賴於其他第三方框架,容器或應用程式伺服器。 當然,該專案(Shiro)旨在盡可能地集成到這個Shiro環境中,從而可以在任何環境中想用即用。

Apache Shiro特點

Apache Shiro是一個具有許多功能的綜合應用程式安全框架。 下圖顯示了Shiro體系結構,本參考手冊將以類似方式組織:

Shiro目標是什麼?
Shiro開發團隊稱為“應用程式安全的四個基石” - 即:認證授權會話管理加密

1. 認證: 有時被稱為“登錄”,這是證明用戶的行為(他們說自己是誰)。
2. 授權:訪問控制的過程,即確定“誰”可以訪問“什麼”。
3. 會話管理:管理用戶特定的會話,即使在非Web或EJB應用程式中。
4. 加密:使用加密演算法保持數據安全,同時仍然易於使用。

在不同的應用環境中還有其他特性支持和強化這些問題,特別是:

  • Web支持:Shiro的Web支持API有助於保護Web應用程式。
  • 緩存:緩存是Apache Shiro API中的第一級,以確保安全操作保持快速和高效。
  • 併發性:Apache Shiro支持具有併發功能的多線程應用程式。
  • 測試:存在測試支持,可幫助您編寫單元測試和集成測試,並確保代碼按預期得到保障。
  • 運行方式”:允許用戶承擔另一個用戶的身份(如果允許)的功能,有時在管理方案中很有用。
  • 記住我”:記住用戶在會話中的身份,所以用戶只需要強制登錄即可。

開始學習 >> :Shiro是什麼?