shiro入門學習二
阿新 • • 發佈:2019-01-22
1.1 什麼是shiro
shiro是apache的一個開源框架,是一個許可權管理的框架,實現 使用者認證、使用者授權。
spring中有spring security (原名Acegi),是一個許可權框架,它和spring依賴過於緊密,沒有shiro使用簡單。
shiro不依賴於spring,shiro不僅可以實現 web應用的許可權管理,還可以實現c/s系統,分散式系統許可權管理,shiro屬於輕量框架,越來越多企業專案開始使用shiro。
使用shiro實現系統 的許可權管理,有效提高開發效率,從而降低開發成本。
1.2 shiro架構
subject:主體,可以是使用者也可以是程式,主體要訪問系統,系統需要對主體進行認證、授權。
securityManager:安全管理器,主體進行認證和授權都 是通過securityManager進行。
authenticator:認證器,主體進行認證最終通過authenticator進行的。
authorizer:授權器,主體進行授權最終通過authorizer進行的。
sessionManager:web應用中一般是用web容器對session進行管理,shiro也提供一套session管理的方式。
SessionDao: 通過SessionDao管理session資料,針對個性化的session資料儲存需要使用sessionDao。
cache Manager:快取管理器,主要對session
realm:域,領域,相當於資料來源,通過realm存取認證、授權相關資料。
注意:在realm中儲存授權和認證的邏輯。
cryptography:密碼管理,提供了一套加密/解密的元件,方便開發。比如提供常用的雜湊、加/解密等功能。
比如 md5雜湊演算法。