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支援具有並行功能的多執行緒應用程式。
  • 測試:存在測試支援,可幫助您編寫單元測試和整合測試,並確保程式碼按預期得到保障。
  • 執行方式」:允許使用者承擔另一個使用者的身份(如果允許)的功能,有時在管理方案中很有用。
  • 記住我」:記住使用者在對談中的身份,所以使用者只需要強制登入即可。