安全框架-Shiro

什麼是Shiro

       Apache Shiro是一個強大易用的Java安全框架,提供了認證、授權、加密和會話管理等功能。

Shiro能做什麼

        認證:驗證用戶來覈實他們的身份

        授權:對用戶執行訪問控制,如: 判斷用戶是否被分配了一個確定的安全角色判斷用戶是否被允許做某事

        會話管理:在任何環境下使用Session API,即使沒有Web 或EJB 容器。

        加密:以更簡潔易用的方式使用加密的功能,保護或隱藏數據防止被偷窺

        Realms :聚集一個或多個用戶安全數據的數據源,並作爲一個單一的複合用戶“視圖”。
        啓用 單點登錄(SSO )功能。
        爲沒有關聯到登錄的用戶啓用"Remember Me"服務。

Shiro有什麼

             

        Shiro的四大部分——身份驗證,授權,會話管理和加密
        Authentication:有時也簡稱爲“登錄”,這是證明用戶是他們所說的他們是誰的行爲。
        Authorization:訪問控制的過程,也就是絕對“誰”去訪問“什麼”。
        Session Management:管理用戶特定的會話,即使在非Web 或EJB 應用程序。
        Cryptography:通過使用加密算法保持數據安全同時易於使用

Shiro的完整框架

     

         Authenticator :是一個執行對用戶的身份驗證(登錄)的組件。Authenticator 知道如何與一個或多個Realm 協調來存儲相關的用戶/帳戶信息。從這些 Realm 中獲得的數據被用來驗證用戶的身份來保證用戶確實是他們所說的他們是誰。如果存在多個realm,則接口AuthenticationStrategy會確定什麼樣算是登錄成功(例如,如果一個Realm成功,而其他的均失敗,是否登錄成功?)。
        Authorizer :授權實質上就是訪問控制 - 控制用戶能夠訪問應用中的哪些內容,比如資源、Web頁面等等。
        SessionManager :提供可在任何應用或架構層一致地使用Session API。
        SessionDAO:代表SessionManager 執行Session 持久化(CRUD)操作。
       CacheManager :對Shiro的其他組件提供緩存支持。
        Cryptography:Shiro的api大幅度簡化java api中繁瑣的密碼加密
        Realms:Realms 在Shiro 和你的應用程序的安全數據之間擔當“橋樑”或“連接器”。簡單的說,shiro通過Realms來獲取相應的安全數據



發佈了144 篇原創文章 · 獲贊 116 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章