list, String element) {
+//
+// // 空集合直接返回false
+// if(list == null || list.size() == 0) {
+// return false;
+// }
+//
+// // 先尝试一下简单匹配,如果可以匹配成功则无需继续模糊匹配
+// if (list.contains(element)) {
+// return true;
+// }
+//
+// // 开始模糊匹配
+// for (String patt : list) {
+// if(SaFoxUtil.vagueMatch(patt, element)) {
+// return true;
+// }
+// }
+//
+// // 走出for循环说明没有一个元素可以匹配成功
+// return false;
+// }
+//
+// /**
+// * 对一个Method对象进行注解检查(注解鉴权内部实现)
+// */
+// @Override
+// public void checkMethodAnnotation(Method method) {
+//
+// // 先校验 Method 所属 Class 上的注解
+// validateAnnotation(method.getDeclaringClass());
+//
+// // 再校验 Method 上的注解
+// validateAnnotation(method);
+// }
+//
+// /**
+// * 从指定元素校验注解
+// * @param target see note
+// */
+// public void validateAnnotation(AnnotatedElement target) {
+//
+// // 校验 @SaCheckLogin 注解
+// SaCheckLogin checkLogin = (SaCheckLogin) SaStrategy.me.getAnnotation.apply(target, SaCheckLogin.class);
+// if(checkLogin != null) {
+// SaManager.getStpLogic(checkLogin.type()).checkByAnnotation(checkLogin);
+// }
+//
+// // 校验 @SaCheckRole 注解
+// SaCheckRole checkRole = (SaCheckRole) SaStrategy.me.getAnnotation.apply(target, SaCheckRole.class);
+// if(checkRole != null) {
+// SaManager.getStpLogic(checkRole.type()).checkByAnnotation(checkRole);
+// }
+//
+// // 校验 @SaCheckPermission 注解
+// SaCheckPermission checkPermission = (SaCheckPermission) SaStrategy.me.getAnnotation.apply(target, SaCheckPermission.class);
+// if(checkPermission != null) {
+// SaManager.getStpLogic(checkPermission.type()).checkByAnnotation(checkPermission);
+// }
+//
+// // 校验 @SaCheckSafe 注解
+// SaCheckSafe checkSafe = (SaCheckSafe) SaStrategy.me.getAnnotation.apply(target, SaCheckSafe.class);
+// if(checkSafe != null) {
+// SaManager.getStpLogic(checkSafe.type()).checkByAnnotation(checkSafe);
+// }
+//
+// // 校验 @SaCheckBasic 注解
+// SaCheckBasic checkBasic = (SaCheckBasic) SaStrategy.me.getAnnotation.apply(target, SaCheckBasic.class);
+// if(checkBasic != null) {
+// SaBasicUtil.check(checkBasic.realm(), checkBasic.account());
+// }
+//
+// }
+//
+//}
diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/strategy/SaStrategy.java b/sa-token-core/src/main/java/cn/dev33/satoken/strategy/SaStrategy.java
index 646e4f42..657c7bce 100644
--- a/sa-token-core/src/main/java/cn/dev33/satoken/strategy/SaStrategy.java
+++ b/sa-token-core/src/main/java/cn/dev33/satoken/strategy/SaStrategy.java
@@ -4,12 +4,21 @@ import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Method;
import java.util.List;
+import java.util.UUID;
import java.util.function.BiFunction;
import java.util.function.Consumer;
import java.util.function.Function;
import cn.dev33.satoken.SaManager;
+import cn.dev33.satoken.annotation.SaCheckBasic;
+import cn.dev33.satoken.annotation.SaCheckLogin;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.dev33.satoken.annotation.SaCheckRole;
+import cn.dev33.satoken.annotation.SaCheckSafe;
+import cn.dev33.satoken.basic.SaBasicUtil;
import cn.dev33.satoken.session.SaSession;
+import cn.dev33.satoken.util.SaFoxUtil;
+import cn.dev33.satoken.util.SaTokenConsts;
/**
* Sa-Token 策略对象
@@ -27,7 +36,6 @@ import cn.dev33.satoken.session.SaSession;
* @author kong
*
*/
-@SuppressWarnings("deprecation")
public final class SaStrategy {
private SaStrategy() {
@@ -47,7 +55,34 @@ public final class SaStrategy {
* 参数 [账号id, 账号类型]
*/
public BiFunction