自定義註解進行登入校驗

2021-09-24 15:15:07 字數 2404 閱讀 5485

想起前段時間寫的寫的***,自定義註解進行登入驗證

攔截請求,校驗有誤自定義的註解,有註解就需要校驗token,無註解即放行

這樣的好處就是在comment中寫乙個,整個專案都可以用,**需要檢驗就加在那個方法上,很是靈活方便

廢話不少,上**

自定義的註解類

/**

* 在需要登入驗證的controller的方法上使用此註解

*/@target()

// 可用在方法名上

@retention

(retentionpolicy.

runtime

)// 執行時有效

public @inte***ce

loginrequired

token生成,生成的token要能解析,解析出userid,這樣方便到redis中取出校驗

首先是依賴匯入

io.jsonwebtoken

jjwt

0.9.0

public

static string gettoken

(string userid)

配置***

public

class

loginconfiguration

implements

webmvcconfigurer

}

實現handlerinterceptor會有坑,jdki.8有個很神奇的東西,實現handlerinterceptor不會讓你重寫類,也就沒有prehandle,posthandle,aftercompletion.

ctrl+o 就可以啦

public

class

logininterceptor

implements

handlerinterceptor

handlermethod handlermethod =

(handlermethod) handler;

method method = handlermethod.

getmethod()

;//判斷介面是否需要登入

loginrequired methodannotation = method.

getannotation

(loginrequired.

class);

// 有 @loginrequired 註解,需要認證

if(methodannotation !=

null

)//拿到token中的userid,從redis中獲取token,校驗前端請求頭中的token

}

redisutil 類在我的文章中有提供

驗證註解,自定義校驗註解

session的token時間併發的session數量,集群如何管理 notblank valid bindingresult public listgetuser requestparam string username,bindingresult errors return list hiber...

Springboot自定義校驗註解

max 10 最大不能超過10 max value 10,message 資料最大不能超過10 最大不能超過10 min range min 1,max 10 範圍 1 10 length min 2,max 10 輸入的長度 最小為2,最大為10 需要建乙個註解類和關聯類 1.target ele...

引數校驗框架 自定義校驗註解

一 場景介紹 二 校驗場景 三 定義註解 四 使用註解 新建spring boot專案 建立訂單狀態列舉型別 getter public enum orderstateenum 根據 獲取列舉名稱 public static string getnamebycode string code retu...