前一篇給shiro的demo,讓大家有個直觀的體驗。本章講講shiro上層的抽象與框架。
上圖是shiro上層的抽象,主要有三個抽象,分別是subject,securitymanager,realm。
subject代表與系統互動的物件,可以是人,其他服務應用等。我們可以簡單理解為使用者。我們**中與subject的互動實際最後都會轉到securitymanager。如上篇中登入**:subject.login(authenticationtoken)
securitymanager是shiro核心物件,它管理很多重要的抽象,協同排程這些抽象完成任務。在實際程式設計時,對開發人員是透明的,開發人員主要是與subject物件互動。
realm是鏈結shiro與應用自己的安全資料。上篇中所有的使用者,角色,許可權均是寫死到shiro.ini中,實際應用中這些資料會持久化到db中,shiro通過realm獲取到這些資料,進而進行認證與授權。
上圖是shiro的詳細架構圖。應用**均是與subject物件互動,subject物件將請求轉到securitymanager,securitymanager再統一分派委託,最終反應到應用**。
在介紹下篇的認證前,先介紹下shrio使用者許可權模型。
上圖主要是有三個抽象,分別是使用者,角色,許可權。我們可以這樣理解,小明是一家公司的老闆,他可以管理公司裡的員工,小明又是某熊孩子的父親,可以教育熊孩子。用使用者許可權模型來解釋的化,小明是使用者,他有兩個角色,分別是老闆和父親。可以管理公司的員工也可以教育熊孩子。
下篇詳細介紹shiro的認證模組。
MongoDB系列 使用者及許可權管理02
mongodb 作為時下最為熱門的 資料庫,那麼其安全驗證也是必不可少的,否則乙個沒有驗證的資料庫暴露出去,任何人可隨意操作,這將是非常危險的。我們可以通過使用為mongodb 建立使用者的方式來降低風險mongodb 有乙個使用者管理機制,簡單描述為,有乙個管理使用者組,這個組的使用者是專門為管理...
架構之路之shiro的許可權定義兩種方法
public anon static anon user edit perms user edit authc 在usercontroller方法上面加註解 requirespermissions user edit public string list model model 你有許可權看到此處 ...
mongoDB初階系列一 使用者和許可權
對於資料庫而言,使用者和許可權是非常重要的一部分,因為這涉及到安全,那麼mongodb的使用者和許可權是怎麼樣的呢?本文所用的mongodb版本是3.6,作業系統是windows。對於mongodb,分為服務端和客戶端。在windows環境的安裝目錄下,直接雙擊開啟mongod.exe,即可開啟mo...