切面控制許可權

2021-08-30 02:10:52 字數 1920 閱讀 3481

切面許可權控制

前言:使用aop統計日誌,控制許可權

1. 建立切面

/**

* @author wangjinliang.wjl

* @date 2018/10/18

**/@slf4j

@aspect

@component

public

class

2. 建立主註解類
/**

* @author wangjinliang.wjl

* @date 2018/10/18

*/@documented

@target()

@retention

(retentionpolicy.runtime)

@inherited

public @inte***ce

checkpermission

3. 建立許可權列舉類(多種許可權情況存在)
/**

* @author wangjinliang.wjl

* @date 2018/10/18

**/public

class

permissionconstants

4. 控制許可權

使用@before在切入點開始處切入內容

使用@after在切入點結尾處切入內容

使用@afterreturning在切入點return內容之後切入內容(可以用來對處理返回值做一些加工處理)

使用@around在切入點前後切入內容,並自己控制何時執行切入點自身的內容

使用@afterthrowing用來處理當切入內容部分丟擲異常之後的處理邏輯

/**

* @author wangjinliang.wjl

* @date 2018/10/18

**/@slf4j

@aspect

@component

public

class

//得到類上的註解

checkpermission classpheckpermission = proceedingjoinpoint.

gettarget()

.getclass()

.getannotation

(checkpermission.

class);

if(null != methodcheckpermission)

//依次檢查許可權

list

permissionlist = permissions.stream

.filter

(objects:

:nonnull)

.map

(this

::docheckpermission)

;//判斷

if(permissionlist.

contains

(check_permission_result.forbidden)

)else

}private testparam gettestparam

(object[

] args)

else

if(arg instanceof

testuserqueryparam)}

throw

newruntimeexception

("check permission for secmap, but not find secmap param argument");

}public

enum check_permission_result

}

具體的許可權檢驗邏輯根據不同的業務邏輯進行修改

C 訪問控制許可權

第一 private,public,protected 訪問標號的訪問範圍,在沒有繼承的情況下 private 只能由1.該類中的函式 2.其友元函式訪問。不能被任何其他訪問,該類的物件也不能訪問。protected 可以被1.該類中的函式 2.子類的函式 以及3.其友元函式訪問。但不能被該類的物件...

檔案訪問控制許可權

設定許可權列表 裝置許可權列表載入 facl filesystem access control list 利用檔案擴充套件屬性儲存額外的訪問控制許可權 普通使用者無法修改檔案屬主與屬組 對於檔案的許可權進行附加補充說名的乙個許可權設定方式 有兩個普通使用者tom jerry,當tom由乙個檔案只想...

springmvc控制許可權的

org.springframework.security spring security taglibs 5.0.1.release jsp頁面進行匯入 taglib prefix security uri 可以通過此方法來獲取房前正在操作的使用者資訊 設定可以訪問的許可權 其餘的許可權不可以訪問呢...