Shiro的基礎介紹和理解

2021-08-19 09:08:57 字數 1261 閱讀 3665

securitymanager:典型的 facade,shiro 通過它對外提供安全管理的各種服務。

authenticator: 對「who are you ?」進行核實。通常涉及使用者名稱和密碼。 負責收集 principals 和 credentials,將它們提交給應用系統。如提交的 credentials 跟應用系統中提供的 credentials 吻合,就能繼續訪問,否則需重新提交 principals 和 credentials, 或直接終止訪問。

authorizer:身份份驗證通過後,這個元件對登入人員進行訪問控制的篩查,比如「who can do what」, 或者「who can do which actions」。 shiro 採用「基於 realm」的方法,即使用者(又稱 subject)、 使用者組、角 色和permission 的聚合體。

session manager:這個元件保證了異構客戶端的訪問,配置簡單。它基於 pojo/j2se 的,不跟任何的客戶 端或者協議繫結。

subject:主體,代表的了當前使用者。所有的 subject 都繫結到 securitymanager, 與 subject 的所有互動都會委託給 securitymanager,可以將 subject 當成乙個 門面,而真正執行者是 securitymanager 。

securitymanage:安全管理器,所有與安全有關的操作都會與 securitymanager 互動,並且它管理所有的 subject 。

realm:域 shiro 是從 realm 來獲取安全資料(使用者,角色,許可權)。就是說 securitymanager要驗證使用者身份, 那麼它需要從 realm 獲取相應的使用者進行比較以確定使用者 身份是否合法;也需要從realm 得到使用者相應的角色/許可權進行驗證使用者是否 能進行操作; 可以把 realm 看成 datasource,即安全資料來源 。

總結:

粗顆粒許可權:針對 url 鏈結的控制。

細顆粒許可權:針對資料級別的控制。

比如:查詢使用者許可權。

衛生局可以查詢所有使用者。

衛生室可以查詢本單位的使用者。

常在 service 中程式設計實現。

粗顆粒許可權:可以使用過慮器統一攔截 url。

細顆粒許可權:在 service 中控制,在程式級別來控制,個性化 程式設計。

shiro 認證配置和認證過程理解

mydemo login authc main authc user info authc admin listuser authc,perms admin manage 在上面我定義了 mydemo login authc,表示想要訪問 mydemo login那麼你就需要認證先,就是登陸的意思,...

shiro理論之許可權的理解

基本上涉及到使用者參與的系統都要進行許可權管理,許可權管理屬於系統安全的範疇,許可權管理實現對使用者訪問系統的控制,按照 安全規則或者 安全策略 控制使用者可以訪問而且只能訪問自己被授權的資源。許可權管理包括使用者身份認證和授權兩部分,簡稱認證授權。對於需要訪問控制的資源使用者首先經過身份認證,認證...

Weka和Mulan的介紹和理解

weka weka的分類器,都放在以weka.classifiers為開頭的包裡。並根據其功能進行分門別類,具體見其方法。weka裡的核心類,放在了weka.core為開頭的包裡。對於weka的資料,存在了instances裡。然後每一條資料,則是介面instrance的例項 有s和沒有s的區分,很...