@SaCheckOr注解增加补全@SaCheckHttpDigest校验

This commit is contained in:
click33 2024-05-10 09:41:06 +08:00
parent adb600d643
commit f612c87e3a
2 changed files with 23 additions and 5 deletions

View File

@ -61,11 +61,18 @@ public @interface SaCheckOr {
SaCheckSafe[] safe() default {};
/**
* 设定 @SaCheckBasic参考 {@link SaCheckHttpBasic}
* 设定 @SaCheckHttpBasic参考 {@link SaCheckHttpBasic}
*
* @return /
*/
SaCheckHttpBasic[] basic() default {};
SaCheckHttpBasic[] httpBasic() default {};
/**
* 设定 @SaCheckBasic参考 {@link SaCheckHttpDigest}
*
* @return /
*/
SaCheckHttpDigest[] httpDigest() default {};
/**
* 设定 @SaCheckDisable参考 {@link SaCheckDisable}

View File

@ -17,10 +17,10 @@ package cn.dev33.satoken.strategy;
import cn.dev33.satoken.SaManager;
import cn.dev33.satoken.annotation.*;
import cn.dev33.satoken.httpauth.basic.SaHttpBasicUtil;
import cn.dev33.satoken.exception.RequestPathInvalidException;
import cn.dev33.satoken.exception.SaTokenException;
import cn.dev33.satoken.fun.strategy.*;
import cn.dev33.satoken.httpauth.basic.SaHttpBasicUtil;
import cn.dev33.satoken.httpauth.digest.SaHttpDigestUtil;
import cn.dev33.satoken.session.SaSession;
import cn.dev33.satoken.stp.StpLogic;
@ -265,8 +265,8 @@ public final class SaStrategy {
}
// 6校验注解@SaCheckBasic
SaCheckHttpBasic[] checkBasicArray = at.basic();
for (SaCheckHttpBasic item : checkBasicArray) {
SaCheckHttpBasic[] checkHttpBasicArray = at.httpBasic();
for (SaCheckHttpBasic item : checkHttpBasicArray) {
try {
SaHttpBasicUtil.check(item.realm(), item.account());
return;
@ -275,6 +275,17 @@ public final class SaStrategy {
}
}
// 7校验注解@SaCheckDigest
SaCheckHttpDigest[] checkHttpDigestArray = at.httpDigest();
for (SaCheckHttpDigest item : checkHttpDigestArray) {
try {
SaHttpDigestUtil.checkByAnnotation(item);
return;
} catch (SaTokenException e) {
errorList.add(e);
}
}
// 如果执行到这里有两种可能
// 可能 1. SaCheckOr 注解上不包含任何注解校验此时 errorList 里面一个异常都没有我们直接跳过即可
// 可能 2. 所有注解校验都通过不了此时 errorList 里面会有多个异常我们随便抛出一个即可