mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-04-05 17:37:53 +08:00
@SaCheckOr注解增加补全@SaCheckHttpDigest校验
This commit is contained in:
parent
adb600d643
commit
f612c87e3a
@ -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}
|
||||
|
@ -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 里面会有多个异常,我们随便抛出一个即可
|
||||
|
Loading…
Reference in New Issue
Block a user