Shiro 安全框架

2021-10-09 06:44:44 字數 2594 閱讀 5194

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中新增如下依賴:

org.apache.shiro<

/groupid>

shiro-spring<

/artifactid>

1.5.3

<

/version>

<

/dependency>

shiro核心物件配置基於springboot 實現的專案中,沒有提供shiro的自動化配置,需要我們自己配置。

第一步:建立springshiroconfig類。關鍵**如下:

package com.cy.pj.common.config;

/**@configuration 註解描述的類為乙個配置物件,

* 此物件也會交給spring管理

*/@configuration

public

class

springshiroconfig

第二步:在shiro配置類中新增securitymanager配置(這裡一定要使用org.apache.shiro.mgt.securitymanager這個介面物件),關鍵**如下:、

/**

* 配置securitymanager(注意包名),此物件使用者實現使用者身份認證和授權等功能,是shiro框架的核心

* @bean註解一般要結合@configuration註解使用,用於描述方法,表示這個方法的返回值要交給spring管理

* key預設為方法名或者直接由@bean註解指定

*/@bean

//@bean("securitmanager")

//@scope("singleton") 預設為單例

public securitymanager securitymanager()

第三步: 在shiro配置類中新增shirofilte***ctorybean物件的配置。通過此物件設定資源匿名訪問、認證訪問。關鍵**如下:

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 架構包含三個...