Spring Aop加自定義註解實現許可權管理

2021-09-03 08:29:28 字數 1282 閱讀 8350

在專案中,spring aop 可以對類,方法的執行進行一些加工,本文使用spring aop 加自定義註解來實現許可權管理。

思路:當乙個請求請求某個controller層的方法時,會被aop提前攔截處理,看該方法上指定註解的值該登入使用者是否有許可權訪問,有則放行,無則直接返回。

核心**:

@configuration

@aspect

public

class

annotationaop

// 獲取方法

object target = joinpoint.

gettarget()

; string methodname = joinpoint.

getsignature()

.getname()

;// 獲取引數型別

class<

?>

parametertypes =

((methodsignature)joinpoint.

getsignature()

).getmethod()

.getparametertypes()

; method method = target.

getclass()

.getmethod

(methodname,parametertypes)

; basicshaspermission myvalidatorannotation = method.

getannotation

(basicshaspermission.

class);

string value = myvalidatorannotation.

value()

; string[

] values = myvalidatorannotation.

values()

;if(value ==

"666"

)else

}}

如**所示,這份aop**會在所有的符合條件的方法上加乙個切點,並對自定義註解進行驗證。

自定義註解**:

@retention

(retentionpolicy.runtime)

@target

(elementtype.method)

public @inte***ce

basicshaspermission

spring aop 自定義註解實現操作日誌記錄

1,spring配置檔案 2,日誌攔截類 public class logaspect catch throwable e finally return retval private void insertopertlog proceedingjoinpoint jp,stopwatch stopw...

Spring AOP 結合自定義註解的使用

1,宣告自定義註解,這裡的key 為要攔截的方法中的方法體對應的變數名,可以參考第3點.2,建立乙個切面類,annatation 中的comment 為方法引數體中的註解對應的變數名 3,在要攔截的方法上加入定義好的註解,其中 comment使用的是spel表示式.spel表示式工具類 packag...

自定義註解 springAop實現引數的分組驗證

問題引入 在日常開發中免不了對傳入的引數進行校驗,例如更新資料的時候id不能為空,新增資料的時候某個元素不能為空等。我們不得不寫類似於下面的 public object createstudent student student return student public object update...