diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/annotation/SaCheckOr.java b/sa-token-core/src/main/java/cn/dev33/satoken/annotation/SaCheckOr.java index 5e2ce7396..312d2c0c3 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/annotation/SaCheckOr.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/annotation/SaCheckOr.java @@ -81,4 +81,10 @@ */ SaCheckDisable[] disable() default {}; + /** + * 设定 @SaCheckApiKey,参考 {@link SaCheckApiKey} + * + * @return / + */ + SaCheckApiKey[] apikey() default {}; } diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/annotation/handler/SaCheckOrHandler.java b/sa-token-core/src/main/java/cn/dev33/satoken/annotation/handler/SaCheckOrHandler.java index bb7b9c1df..196d1c4cc 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/annotation/handler/SaCheckOrHandler.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/annotation/handler/SaCheckOrHandler.java @@ -40,7 +40,7 @@ public Class getHandlerAnnotationClass() { @Override public void checkMethod(SaCheckOr at, Method method) { - _checkMethod(at.login(), at.role(), at.permission(), at.safe(), at.httpBasic(), at.httpDigest(), at.disable(), method); + _checkMethod(at.login(), at.role(), at.permission(), at.safe(), at.httpBasic(), at.httpDigest(), at.disable(), at.apikey(), method); } public static void _checkMethod( @@ -51,6 +51,7 @@ public static void _checkMethod( SaCheckHttpBasic[] httpBasic, SaCheckHttpDigest[] httpDigest, SaCheckDisable[] disable, + SaCheckApiKey[] apikey, Method method ) { // 先把所有注解塞到一个 list 里 @@ -62,6 +63,7 @@ public static void _checkMethod( annotationList.addAll(Arrays.asList(disable)); annotationList.addAll(Arrays.asList(httpBasic)); annotationList.addAll(Arrays.asList(httpDigest)); + annotationList.addAll(Arrays.asList(apikey)); // 如果 atList 为空,说明 SaCheckOr 上不包含任何注解校验,我们直接跳过即可 if(annotationList.isEmpty()) {