mirror of
https://gitee.com/dromara/sa-token.git
synced 2026-02-27 16:50:24 +08:00
@SaCheckOr注解增加补全@SaCheckHttpDigest校验
This commit is contained in:
@@ -61,11 +61,18 @@ public @interface SaCheckOr {
|
|||||||
SaCheckSafe[] safe() default {};
|
SaCheckSafe[] safe() default {};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设定 @SaCheckBasic,参考 {@link SaCheckHttpBasic}
|
* 设定 @SaCheckHttpBasic,参考 {@link SaCheckHttpBasic}
|
||||||
*
|
*
|
||||||
* @return /
|
* @return /
|
||||||
*/
|
*/
|
||||||
SaCheckHttpBasic[] basic() default {};
|
SaCheckHttpBasic[] httpBasic() default {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设定 @SaCheckBasic,参考 {@link SaCheckHttpDigest}
|
||||||
|
*
|
||||||
|
* @return /
|
||||||
|
*/
|
||||||
|
SaCheckHttpDigest[] httpDigest() default {};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设定 @SaCheckDisable,参考 {@link SaCheckDisable}
|
* 设定 @SaCheckDisable,参考 {@link SaCheckDisable}
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ package cn.dev33.satoken.strategy;
|
|||||||
|
|
||||||
import cn.dev33.satoken.SaManager;
|
import cn.dev33.satoken.SaManager;
|
||||||
import cn.dev33.satoken.annotation.*;
|
import cn.dev33.satoken.annotation.*;
|
||||||
import cn.dev33.satoken.httpauth.basic.SaHttpBasicUtil;
|
|
||||||
import cn.dev33.satoken.exception.RequestPathInvalidException;
|
import cn.dev33.satoken.exception.RequestPathInvalidException;
|
||||||
import cn.dev33.satoken.exception.SaTokenException;
|
import cn.dev33.satoken.exception.SaTokenException;
|
||||||
import cn.dev33.satoken.fun.strategy.*;
|
import cn.dev33.satoken.fun.strategy.*;
|
||||||
|
import cn.dev33.satoken.httpauth.basic.SaHttpBasicUtil;
|
||||||
import cn.dev33.satoken.httpauth.digest.SaHttpDigestUtil;
|
import cn.dev33.satoken.httpauth.digest.SaHttpDigestUtil;
|
||||||
import cn.dev33.satoken.session.SaSession;
|
import cn.dev33.satoken.session.SaSession;
|
||||||
import cn.dev33.satoken.stp.StpLogic;
|
import cn.dev33.satoken.stp.StpLogic;
|
||||||
@@ -265,8 +265,8 @@ public final class SaStrategy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 6、校验注解:@SaCheckBasic
|
// 6、校验注解:@SaCheckBasic
|
||||||
SaCheckHttpBasic[] checkBasicArray = at.basic();
|
SaCheckHttpBasic[] checkHttpBasicArray = at.httpBasic();
|
||||||
for (SaCheckHttpBasic item : checkBasicArray) {
|
for (SaCheckHttpBasic item : checkHttpBasicArray) {
|
||||||
try {
|
try {
|
||||||
SaHttpBasicUtil.check(item.realm(), item.account());
|
SaHttpBasicUtil.check(item.realm(), item.account());
|
||||||
return;
|
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 里面一个异常都没有,我们直接跳过即可
|
// 可能 1. SaCheckOr 注解上不包含任何注解校验,此时 errorList 里面一个异常都没有,我们直接跳过即可
|
||||||
// 可能 2. 所有注解校验都通过不了,此时 errorList 里面会有多个异常,我们随便抛出一个即可
|
// 可能 2. 所有注解校验都通过不了,此时 errorList 里面会有多个异常,我们随便抛出一个即可
|
||||||
|
|||||||
Reference in New Issue
Block a user