Shiro簡單入門 個人理解 2

2022-08-20 13:06:08 字數 1276 閱讀 5359

今天開始了shiro認證及授權的部分,認證及授權是shiro的主要功能,雖然shiro還具有加密等功能,但在實際開發時,很少會使用到,在公司一般都有自己的一套加密方式,具體我就不說話了,畢竟有保密協議

廢話不多說開始吧

首先開始shiro認證流程

身份認證:判定使用者是否是系統的合法使用者。

使用者訪問系統資源時的認證(對使用者身份資訊的認證)流程如下:

具體流程分析如下:

1)系統呼叫subject的login方法將使用者資訊提交給securitymanager

2)securitymanager將認證操作委託給認證器物件authenticator

3)authenticator將身份資訊傳遞給realm。

4)realm訪問資料庫獲取使用者資訊然後對資訊進行封裝並返回。

5)authenticator 對realm返回的資訊進行身份認證。

controller類的實現

@responsebody

publicjsonresult dologin(string username,string password)

自定義realm(shirouserrealm)

/*** 通過此物件獲取使用者身份相關資訊,使用者許可權相關資訊

* 間接的實現了realm介面

*/@service

public class shirouserrealm extends authorizingrealm

//自定義快取map(快取使用者許可權資訊)

private mapauthormap=

new concurrenthashmap();

/**此方法提供認證資料的獲取操作*/

@override

protected authenticationinfo dogetauthenticationinfo(

authenticationtoken token)

throws authenticationexception

@override

protected authorizationinfo dogetauthorizationinfo(

principalcollection principals)

}此外自定義realm就已經結束

以下就是攔截

在shiro.xml裡隨心所欲的設定過濾規則

正常使用就會產生如果你在瀏覽器進行url填寫為授權訪問路徑,則會跳轉你所規定的配置頁面,配置頁面詳情看前一篇文章的spring-shiro.xml

許可權框架 shiro 簡單入門例項

前面的帖子簡單的介紹了基本的許可權控制,可以說任何乙個後台管理系統都是需要許可權的 今天開始咱們來講講shiro 首先引入基本的jar包 1 2 dependency 3 groupid org.apache.shiro groupid 4 artifactid shiro core artifac...

許可權管理以及shiro的簡述(個人理解)

許可權管理簡要設計 資料庫表 許可權表 存貯各種許可權 url 使用者表 屬於某個組 組 角色 組中根據需求擁有各種許可權 角色表與組表性質類似 表關係 組和許可權表 多對多 組和使用者表 多對多 這裡的關係要根據實際需求來做決定,不是固定的 許可權表可以通過其他方式進行表示,這裡寫許可權表是為了方...

quartz個人簡單理解

乙個簡單的任務類實現job介面 該類只包含了要執行的任務內容,不包含該任務的name或者屬於哪個組,也不包含如何去執行任務,比如什麼時候開始,執行幾次,執行間隔。jobdetail實現了job例項類的自生資訊,比如name,所屬的組,quartz每次執行任務都會新建乙個job例項,而不是一直使用同乙...