shiro是apache旗下乙個開源安全框架(它將軟體系統的安全認證相關的功能抽取出來,實現使用者身份認證,許可權授權、加密、會話管理等功能,組成了乙個通用的安全認證框架。使用shiro就可以非常快速的完成認證、授權等功能的開發,降低系統成本。
使用者資源訪問控制,流程分析:
具體例子的流程圖
在概念層,shiro 架構包含三個主要的理念:subject,securitymanager和 realm。
其中:subject :主體物件,負責提交使用者認證和授權資訊。
securitymanager:安全管理器,負責認證,授權等業務實現。
realm:領域物件,負責從資料層獲取業務資料。
通過shiro框架進行許可權管理時,要涉及到的一些核心物件,主要包括:
認證管理物件,授權管理物件,會話管理物件,快取管理物件,加密管理物件
以及realm管理物件(領域物件:負責處理認證和授權領域的資料訪問題)
subject(主體):與軟體互動的乙個特定的實體(使用者、第三方服務等)。
securitymanager(安全管理器) :shiro 的核心,用來協調管理元件工作。
authenticator(認證管理器):負責執行認證操作
authorizer(授權管理器):負責授權檢測
sessionmanager(會話管理):負責建立並管理使用者 session 生命週期,提供乙個強有力的 session 體驗。
sessiondao:代表 sessionmanager 執行 session 持久(crud)動作,它允許任何儲存的資料掛接到 session 管理基礎上。
cachemanager(快取管理器):提供建立快取例項和管理快取生命週期的功能
cryptography(加密管理器):提供了加密方式的設計及管理。
realms(領域物件):是shiro和你的應用程式安全資料之間的橋梁。
新增shiro依賴
使用spring整合shiro時,需要在pom.xml中新增如下依賴:
shiro核心物件配置基於springboot 實現的專案中,沒有提供shiro的自動化配置,需要我們自己配置。org.apache.shiro<
/groupid>
shiro-spring<
/artifactid>
1.5.3
<
/version>
<
/dependency>
第一步:建立springshiroconfig類。關鍵**如下:
第二步:在shiro配置類中新增securitymanager配置(這裡一定要使用org.apache.shiro.mgt.securitymanager這個介面物件),關鍵**如下:、package com.cy.pj.common.config;
/**@configuration 註解描述的類為乙個配置物件,
* 此物件也會交給spring管理
*/@configuration
public
class
springshiroconfig
第三步: 在shiro配置類中新增shirofilte***ctorybean物件的配置。通過此物件設定資源匿名訪問、認證訪問。關鍵**如下:/**
* 配置securitymanager(注意包名),此物件使用者實現使用者身份認證和授權等功能,是shiro框架的核心
* @bean註解一般要結合@configuration註解使用,用於描述方法,表示這個方法的返回值要交給spring管理
* key預設為方法名或者直接由@bean註解指定
*/@bean
//@bean("securitmanager")
//@scope("singleton") 預設為單例
public securitymanager securitymanager()
shiro安全框架
shiro安全框架是目前為止作為登入註冊最常用的框架,因為它十分的強大簡單,提供了認證 授權 加密和會話管理等功能 shiro能做什麼?認證 驗證使用者的身份 授權 對使用者執行訪問控制 判斷使用者是否被允許做某事 會話管理 在任何環境下使用 session api,即使沒有 web 或ejb 容器...
Shiro安全框架
subject sub securityutils.getsubject usernamepasswordtoken token newusernamepasswordtoken username,password sub.login token requiresguest 驗證是否是乙個guest...
Shiro安全框架
shiro是apache旗下乙個開源安全框架,它將軟體系統的安全認證相關的功能抽取出來,實現使用者身份認證,許可權授權 加密 會話管理等功能,組成了乙個通用的安全認證框架。使用shiro就可以非常快速的完成認證 授權等功能的開發,降低系統成本。shiro安全框架 在概念層面,shiro 架構包含三個...