[翻譯-Shiro]-Apache Shiro 簡介

劉曉日發表於2011-10-06

譯者:劉曉日

Apache Shiro是一個功能強大、靈活的,開源的安全框架。它可以很好的處理認證、授權、企業會話管理和加密。

Apache Shiro的首要目標是易於理解與使用。安全通常很複雜,甚至讓人感到很痛苦,但是Shiro卻不是這樣子的。一個好的安全框架應該遮蔽複雜性,向外暴露簡單、直觀的API,來簡化開發人員實現應用程式安全所花費的時間和精力。

那Shiro能做什麼呢?

  • 驗證使用者身份

  • 使用者訪問許可權認證,比如:

    1. 使用者是否擁有一個安全的角色。

    2. 使用者是否被授予完成某個操作的許可權

  • 在非web或EJB容器的環境下可以任意使用Session API

  • 可以響應認證、訪問控制,或者Session生命週期中發生的事件

  • 可將一個或以上使用者安全資料來源資料組合成一個複合的使用者檢視

  • 單點登入(SSO)功能

  • 提供‘Remember Me’服務

Shiro致力在所有應用環境下實現上述功能,小到命令列應用程式,大到企業應用中,而且不需要藉助第三方框架、容器、應用伺服器等。當然Shiro的目的是儘量的融入到這樣的應用環境中去,但也可以在它們之外的任何環境下使用。

Apache Shiro功能

Apache Shiro是一個全面的、蘊含豐富功能的安全框架。下圖為描述Shiro功能的框架圖:

enter image description here

認證、授權、會話管理、加密被Shiro框架的開發團隊稱之為應用安全的四大基石。那麼就讓我們來看看它們吧:

認證:使用者身份識別,通常被稱為使用者登入。

授權:訪問控制。比如某個使用者是否具有某個操作的使用許可權。

會話管理:管理非web或EJB應用中的會話。

加密:在對資料來源使用加密演算法加密的同時,保證易於使用。

還有其他的功能來支援和加強這些不同應用環境下安全領域的關注點。特別是對以下的功能支援:

Web支援:Shiro提供的web支援api,可以很輕鬆的保護web應用程式的安全。

快取:快取是Apache Shiro保證安全操作快速、高效的重要手段。

併發:Apache Shiro支援多執行緒應用程式的併發特性。

測試:支援單元測試和整合測試,確保程式碼和預想的一樣安全。

"Run As":這個功能允許使用者“冒名頂替”其他使用者(在許可的前提下)。

"Remember Me":在session中記錄使用者的標識,只有在未獲取到資訊的情況下才需要登入。

原文連結:http://shiro.apache.org/introduction.html

相關文章