Shiro許可權認證Web

2021-10-01 18:52:20 字數 2113 閱讀 2673

目錄

shiro內建的過濾器講解

filter配置路徑**

shiro 資料安全之資料加解密

1. 核心過濾器類:defaultfilter,  配置哪個路徑對應哪個***進行處理

2. authc:org.apache.shiro.web.filter.authc.formauthenticationfilter

需要認證登入才能訪問

3. user:org.apache.shiro.web.filter.authc.userfilter

使用者***,表示必須存在使用者。

4. anon:org.apache.shiro.web.filter.authc.anonymousfilter

匿名***,不需要登入即可訪問的資源,匿名使用者或遊客,一般用於過濾靜態資源。

5. roles:org.apache.shiro.web.filter.authz.rolesauthorizationfilter

角色授權***,驗證使用者是或否擁有角色。

引數可寫多個,表示某些角色才能通過,多個引數時寫 roles["admin,user"],當有多個引數時必須每個引數都通過才算通過

6. perms:org.apache.shiro.web.filter.authz.permissionsauthorizationfilter

許可權授權***,驗證使用者是否擁有許可權

引數可寫多個,表示需要某些許可權才能通過,多個引數時寫 perms["user, admin"],當有多個引數時必須每個引數都通過才算可以

httpbasic 身份驗證***。

8. logout:org.apache.shiro.web.filter.authc.logoutfilter

退出***,執行後會直接跳轉到`shirofilte***ctorybean.setloginurl();` 設定的 url

9. port:org.apache.shiro.web.filter.authz.portfilter

埠***, 可通過的埠。

10.ssl:org.apache.shiro.web.filter.authz.sslfilter

ssl***,只有請求協議是https才能通過。

/admin/video     /user    /pub

路徑萬用字元支援 ?、*、**,注意萬用字元匹配不 包括目錄分隔符「/」

心 可以匹配所有,不加*可以進行字首匹配,但多個冒號就需要多個 * 來匹配

url許可權採取第一次匹配優先的方式

? : 匹配乙個字元,如 /user? , 匹配 /user3,但不匹配/user/;

* : 匹配零個或多個字串,如 /add* ,匹配 /addtest,但不匹配 /user/1

** : 匹配路徑中的零個或多個路徑,如 /user/** 將匹 配 /user/*** 或 /user/***/yyy

例子/user/**=filter1

/user/add=filter2

請求 /user/add  命中的是filter1***

效能問題:萬用字元比字串匹配會複雜點,所以效能也會稍弱,推薦是使用字串匹配方式

講解資料安全核心知識,介紹常見的處理辦法,shiro 裡的 credentialsmatcher使用**

為啥要加解密:明文資料容易洩露,比如密碼明文儲存,萬一洩露則會造成嚴重後果   

什麼是雜湊演算法:一般叫hash,簡單的說就是一種將任意長度的訊息壓縮到某一固定長度的訊息摘要的函式,適合儲存密碼,比如md5

什麼是salt(鹽)   667788——》aabbcc:如果直接通過雜湊函式得到加密資料,容易被對應解密**暴力破解,一般會在應用程式裡面加特殊的自動進行處理,比如使用者id,例子:加密資料 = md5(明文密碼+使用者id),  破解難度會更大,也可以使用多重雜湊,比如多次md5

shiro裡面 credentialsmatcher,用來驗證密碼是否正確,

原始碼:authenticatingrealm -> assertcredentialsmatch()

一般會自定義驗證規則

Shiro許可權認證

shiro的授權以及許可權 關係圖 我們需要在service層中先寫好方法 public inte ce shirouserservice然後imp繼承 service shirouserservice public class shirouserserviceimpl implements shi...

Shiro許可權管理(二) 認證

時隔這麼久終於有時間更新了,今天和大家分享一下shiro的原理。我認為無論是shiro也好,還是其他安全框架也好,其功能主要就分為三部分 認證 授權 加密。下面我們來詳細說明shiro具體是如何實現的。講原理當然離不開結構圖,我們先來看一下shiro的整體結構。由shiro的結構圖我們可以看出shi...

shiro 04 許可權認證 2

1.註解式授權 2.jsp標籤授權 詳解看文件 requiresauthentication要求當前subject 已經在當前的session 中被驗證通過才能被訪問或呼叫。requiresguest要求當前的subject 是乙個 guest 也就是說,他們必須是在之前的 session 中沒有被...