diff --git a/kernel-d-auth/auth-sdk/pom.xml b/kernel-d-auth/auth-sdk/pom.xml index 1c6161b59..6795a11db 100644 --- a/kernel-d-auth/auth-sdk/pom.xml +++ b/kernel-d-auth/auth-sdk/pom.xml @@ -32,6 +32,14 @@ 7.0.1 + + + + cn.stylefeng.roses + security-api + 7.0.1 + + diff --git a/kernel-d-auth/auth-sdk/src/main/java/cn/stylefeng/roses/kernel/auth/auth/AuthServiceImpl.java b/kernel-d-auth/auth-sdk/src/main/java/cn/stylefeng/roses/kernel/auth/auth/AuthServiceImpl.java index 27829b386..5a9374fa6 100644 --- a/kernel-d-auth/auth-sdk/src/main/java/cn/stylefeng/roses/kernel/auth/auth/AuthServiceImpl.java +++ b/kernel-d-auth/auth-sdk/src/main/java/cn/stylefeng/roses/kernel/auth/auth/AuthServiceImpl.java @@ -18,12 +18,12 @@ import cn.stylefeng.roses.kernel.jwt.api.exception.enums.JwtExceptionEnum; import cn.stylefeng.roses.kernel.jwt.api.pojo.payload.DefaultJwtPayload; import cn.stylefeng.roses.kernel.message.api.expander.WebSocketConfigExpander; import cn.stylefeng.roses.kernel.rule.util.HttpServletUtil; +import cn.stylefeng.roses.kernel.security.api.CaptchaApi; import cn.stylefeng.roses.kernel.system.api.LoginLogServiceApi; import cn.stylefeng.roses.kernel.system.api.UserServiceApi; import cn.stylefeng.roses.kernel.system.api.enums.UserStatusEnum; import cn.stylefeng.roses.kernel.system.api.expander.SystemConfigExpander; import cn.stylefeng.roses.kernel.system.api.pojo.user.UserLoginInfoDTO; -import cn.stylefeng.roses.kernel.validator.api.CaptchaApi; import cn.stylefeng.roses.kernel.validator.api.exception.enums.ValidatorExceptionEnum; import org.springframework.stereotype.Service; diff --git a/kernel-d-security/pom.xml b/kernel-d-security/pom.xml index eab67d440..e81f41715 100644 --- a/kernel-d-security/pom.xml +++ b/kernel-d-security/pom.xml @@ -17,6 +17,9 @@ security-api + security-sdk-black-white + security-sdk-captcha + security-sdk-count security-sdk-xss security-spring-boot-starter diff --git a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/BlackListApi.java b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/BlackListApi.java similarity index 95% rename from kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/BlackListApi.java rename to kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/BlackListApi.java index 0b6088346..cf4f798aa 100644 --- a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/BlackListApi.java +++ b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/BlackListApi.java @@ -1,4 +1,4 @@ -package cn.stylefeng.roses.kernel.validator.api; +package cn.stylefeng.roses.kernel.security.api; import java.util.Collection; diff --git a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/CaptchaApi.java b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/CaptchaApi.java similarity index 87% rename from kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/CaptchaApi.java rename to kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/CaptchaApi.java index 242481d19..84a522ad9 100644 --- a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/CaptchaApi.java +++ b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/CaptchaApi.java @@ -1,6 +1,6 @@ -package cn.stylefeng.roses.kernel.validator.api; +package cn.stylefeng.roses.kernel.security.api; -import cn.stylefeng.roses.kernel.validator.api.pojo.EasyCaptcha; +import cn.stylefeng.roses.kernel.security.api.pojo.EasyCaptcha; /** * 图形验证码Api diff --git a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/CountValidatorApi.java b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/CountValidatorApi.java similarity index 86% rename from kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/CountValidatorApi.java rename to kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/CountValidatorApi.java index 254290a92..87a1533e8 100644 --- a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/CountValidatorApi.java +++ b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/CountValidatorApi.java @@ -1,7 +1,6 @@ -package cn.stylefeng.roses.kernel.validator.api; +package cn.stylefeng.roses.kernel.security.api; - -import cn.stylefeng.roses.kernel.validator.api.exception.CountValidateException; +import cn.stylefeng.roses.kernel.security.api.exception.CountValidateException; /** * 计数and校验API diff --git a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/WhiteListApi.java b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/WhiteListApi.java similarity index 95% rename from kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/WhiteListApi.java rename to kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/WhiteListApi.java index 842e355c5..a41fdbc6a 100644 --- a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/WhiteListApi.java +++ b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/WhiteListApi.java @@ -1,4 +1,4 @@ -package cn.stylefeng.roses.kernel.validator.api; +package cn.stylefeng.roses.kernel.security.api; import java.util.Collection; diff --git a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/constants/CaptchaConstants.java b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/constants/CaptchaConstants.java similarity index 80% rename from kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/constants/CaptchaConstants.java rename to kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/constants/CaptchaConstants.java index f577acb3f..355304418 100644 --- a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/constants/CaptchaConstants.java +++ b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/constants/CaptchaConstants.java @@ -1,4 +1,4 @@ -package cn.stylefeng.roses.kernel.validator.api.constants; +package cn.stylefeng.roses.kernel.security.api.constants; /** * 图形验证码模块的常量 diff --git a/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/constants/CounterConstants.java b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/constants/CounterConstants.java new file mode 100644 index 000000000..1eea6e1e5 --- /dev/null +++ b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/constants/CounterConstants.java @@ -0,0 +1,36 @@ +package cn.stylefeng.roses.kernel.security.api.constants; + +/** + * 黑白名单和计数器的常量 + * + * @author fengshuonan + * @date 2021/3/14 17:29 + */ +public interface CounterConstants { + + /** + * 计数校验用的 缓存前缀标识 + */ + String COUNT_VALIDATE_CACHE_KEY_PREFIX = "COUNT_VALIDATE"; + + /** + * 黑名单 缓存前缀标识 + */ + String BLACK_LIST_CACHE_KEY_PREFIX = "BLACK_LIST"; + + /** + * 白名单 缓存前缀标识 + */ + String WHITE_LIST_CACHE_KEY_PREFIX = "WHITE_LIST"; + + /** + * 计数校验用的 计数当时的秒数 + */ + String RECORD_TIME_SECONDS = "RECORD_TIME_SECONDS"; + + /** + * 计数校验用的 时间窗内的次数 + */ + String COUNT_NUMBER = "COUNT_NUMBER"; + +} diff --git a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/exception/CountValidateException.java b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/exception/CountValidateException.java similarity index 59% rename from kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/exception/CountValidateException.java rename to kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/exception/CountValidateException.java index 930fbf249..82414bc4e 100644 --- a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/exception/CountValidateException.java +++ b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/exception/CountValidateException.java @@ -1,9 +1,9 @@ -package cn.stylefeng.roses.kernel.validator.api.exception; +package cn.stylefeng.roses.kernel.security.api.exception; import cn.hutool.core.util.StrUtil; import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum; import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; -import cn.stylefeng.roses.kernel.validator.api.constants.ValidatorConstants; +import cn.stylefeng.roses.kernel.security.api.constants.SecurityConstants; /** * 计数器校验异常 @@ -14,11 +14,11 @@ import cn.stylefeng.roses.kernel.validator.api.constants.ValidatorConstants; public class CountValidateException extends ServiceException { public CountValidateException(AbstractExceptionEnum exception, Object... params) { - super(ValidatorConstants.VALIDATOR_MODULE_NAME, exception.getErrorCode(), StrUtil.format(exception.getUserTip(), params)); + super(SecurityConstants.SECURITY_MODULE_NAME, exception.getErrorCode(), StrUtil.format(exception.getUserTip(), params)); } public CountValidateException(AbstractExceptionEnum exception) { - super(ValidatorConstants.VALIDATOR_MODULE_NAME, exception); + super(SecurityConstants.SECURITY_MODULE_NAME, exception); } } diff --git a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/exception/XssFilterException.java b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/exception/XssFilterException.java similarity index 58% rename from kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/exception/XssFilterException.java rename to kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/exception/XssFilterException.java index b0c924b4e..b8c9a4b24 100644 --- a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/exception/XssFilterException.java +++ b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/exception/XssFilterException.java @@ -1,9 +1,9 @@ -package cn.stylefeng.roses.kernel.validator.api.exception; +package cn.stylefeng.roses.kernel.security.api.exception; import cn.hutool.core.util.StrUtil; import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum; import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; -import cn.stylefeng.roses.kernel.validator.api.constants.ValidatorConstants; +import cn.stylefeng.roses.kernel.security.api.constants.SecurityConstants; /** * XSS过滤异常 @@ -14,11 +14,11 @@ import cn.stylefeng.roses.kernel.validator.api.constants.ValidatorConstants; public class XssFilterException extends ServiceException { public XssFilterException(AbstractExceptionEnum exception, Object... params) { - super(ValidatorConstants.VALIDATOR_MODULE_NAME, exception.getErrorCode(), StrUtil.format(exception.getUserTip(), params)); + super(SecurityConstants.SECURITY_MODULE_NAME, exception.getErrorCode(), StrUtil.format(exception.getUserTip(), params)); } public XssFilterException(AbstractExceptionEnum exception) { - super(ValidatorConstants.VALIDATOR_MODULE_NAME, exception); + super(SecurityConstants.SECURITY_MODULE_NAME, exception); } } diff --git a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/exception/enums/CountValidateExceptionEnum.java b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/exception/enums/CountValidateExceptionEnum.java similarity index 69% rename from kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/exception/enums/CountValidateExceptionEnum.java rename to kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/exception/enums/CountValidateExceptionEnum.java index 5c1a07117..595db5034 100644 --- a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/exception/enums/CountValidateExceptionEnum.java +++ b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/exception/enums/CountValidateExceptionEnum.java @@ -1,8 +1,8 @@ -package cn.stylefeng.roses.kernel.validator.api.exception.enums; +package cn.stylefeng.roses.kernel.security.api.exception.enums; import cn.stylefeng.roses.kernel.rule.constants.RuleConstants; import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum; -import cn.stylefeng.roses.kernel.validator.api.constants.ValidatorConstants; +import cn.stylefeng.roses.kernel.security.api.constants.SecurityConstants; import lombok.Getter; /** @@ -17,12 +17,12 @@ public enum CountValidateExceptionEnum implements AbstractExceptionEnum { /** * 中断执行 */ - INTERRUPT_EXECUTION(RuleConstants.BUSINESS_ERROR_TYPE_CODE + ValidatorConstants.VALIDATOR_EXCEPTION_STEP_CODE + "01", "满足自定义策略要求,程序已中断执行!"), + INTERRUPT_EXECUTION(RuleConstants.BUSINESS_ERROR_TYPE_CODE + SecurityConstants.SECURITY_EXCEPTION_STEP_CODE + "01", "满足自定义策略要求,程序已中断执行!"), /** * 限流错误 */ - TRAFFIC_LIMIT_ERROR(RuleConstants.BUSINESS_ERROR_TYPE_CODE + ValidatorConstants.VALIDATOR_EXCEPTION_STEP_CODE + "02", "已触发限流机制,请稍后重新访问!"); + TRAFFIC_LIMIT_ERROR(RuleConstants.BUSINESS_ERROR_TYPE_CODE + SecurityConstants.SECURITY_EXCEPTION_STEP_CODE + "02", "已触发限流机制,请稍后重新访问!"); /** * 错误编码 diff --git a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/exception/enums/XssFilterExceptionEnum.java b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/exception/enums/XssFilterExceptionEnum.java similarity index 66% rename from kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/exception/enums/XssFilterExceptionEnum.java rename to kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/exception/enums/XssFilterExceptionEnum.java index 955b377d4..7754d9212 100644 --- a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/exception/enums/XssFilterExceptionEnum.java +++ b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/exception/enums/XssFilterExceptionEnum.java @@ -1,8 +1,8 @@ -package cn.stylefeng.roses.kernel.validator.api.exception.enums; +package cn.stylefeng.roses.kernel.security.api.exception.enums; import cn.stylefeng.roses.kernel.rule.constants.RuleConstants; import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum; -import cn.stylefeng.roses.kernel.validator.api.constants.ValidatorConstants; +import cn.stylefeng.roses.kernel.security.api.constants.SecurityConstants; import lombok.Getter; /** @@ -17,7 +17,7 @@ public enum XssFilterExceptionEnum implements AbstractExceptionEnum { /** * XSS初始化配置为空 */ - CONFIG_IS_NULL(RuleConstants.BUSINESS_ERROR_TYPE_CODE + ValidatorConstants.VALIDATOR_EXCEPTION_STEP_CODE + "11", "XSS初始化配置为空,请检查XSS过滤器配置是否正确!"); + CONFIG_IS_NULL(RuleConstants.BUSINESS_ERROR_TYPE_CODE + SecurityConstants.SECURITY_EXCEPTION_STEP_CODE + "11", "XSS初始化配置为空,请检查XSS过滤器配置是否正确!"); /** * 错误编码 diff --git a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/pojo/EasyCaptcha.java b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/pojo/EasyCaptcha.java similarity index 85% rename from kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/pojo/EasyCaptcha.java rename to kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/pojo/EasyCaptcha.java index 5ad39d2c4..6c22747a3 100644 --- a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/pojo/EasyCaptcha.java +++ b/kernel-d-security/security-api/src/main/java/cn/stylefeng/roses/kernel/security/api/pojo/EasyCaptcha.java @@ -1,4 +1,4 @@ -package cn.stylefeng.roses.kernel.validator.api.pojo; +package cn.stylefeng.roses.kernel.security.api.pojo; import lombok.Builder; import lombok.Data; diff --git a/kernel-d-validator/validator-sdk-black-white/README.md b/kernel-d-security/security-sdk-black-white/README.md similarity index 100% rename from kernel-d-validator/validator-sdk-black-white/README.md rename to kernel-d-security/security-sdk-black-white/README.md diff --git a/kernel-d-validator/validator-sdk-black-white/pom.xml b/kernel-d-security/security-sdk-black-white/pom.xml similarity index 86% rename from kernel-d-validator/validator-sdk-black-white/pom.xml rename to kernel-d-security/security-sdk-black-white/pom.xml index d9fdf6454..536c6d260 100644 --- a/kernel-d-validator/validator-sdk-black-white/pom.xml +++ b/kernel-d-security/security-sdk-black-white/pom.xml @@ -6,18 +6,18 @@ cn.stylefeng.roses - kernel-d-validator + kernel-d-security 7.0.1 - validator-sdk-black-white + security-sdk-black-white - + cn.stylefeng.roses - validator-api + security-api 7.0.1 diff --git a/kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/BlackListService.java b/kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/BlackListService.java similarity index 89% rename from kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/BlackListService.java rename to kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/BlackListService.java index d5af9944f..ec71f1510 100644 --- a/kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/BlackListService.java +++ b/kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/BlackListService.java @@ -1,7 +1,7 @@ -package cn.stylefeng.roses.kemel.validator.blackwhite; +package cn.stylefeng.roses.kemel.security.blackwhite; import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; -import cn.stylefeng.roses.kernel.validator.api.BlackListApi; +import cn.stylefeng.roses.kernel.security.api.BlackListApi; import java.util.Collection; diff --git a/kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/WhiteListService.java b/kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/WhiteListService.java similarity index 89% rename from kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/WhiteListService.java rename to kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/WhiteListService.java index c798c0e3d..44c61dff8 100644 --- a/kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/WhiteListService.java +++ b/kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/WhiteListService.java @@ -1,7 +1,7 @@ -package cn.stylefeng.roses.kemel.validator.blackwhite; +package cn.stylefeng.roses.kemel.security.blackwhite; import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; -import cn.stylefeng.roses.kernel.validator.api.WhiteListApi; +import cn.stylefeng.roses.kernel.security.api.WhiteListApi; import java.util.Collection; diff --git a/kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/cache/BlackListMemoryCache.java b/kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/cache/BlackListMemoryCache.java similarity index 67% rename from kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/cache/BlackListMemoryCache.java rename to kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/cache/BlackListMemoryCache.java index 889199098..86960f066 100644 --- a/kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/cache/BlackListMemoryCache.java +++ b/kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/cache/BlackListMemoryCache.java @@ -1,9 +1,8 @@ -package cn.stylefeng.roses.kemel.validator.blackwhite.cache; +package cn.stylefeng.roses.kemel.security.blackwhite.cache; import cn.hutool.cache.impl.TimedCache; import cn.stylefeng.roses.kernel.cache.memory.AbstractMemoryCacheOperator; - -import static cn.stylefeng.roses.kernel.validator.api.constants.ValidatorConstants.BLACK_LIST_CACHE_KEY_PREFIX; +import cn.stylefeng.roses.kernel.security.api.constants.CounterConstants; /** * 黑名单用户的缓存 @@ -19,7 +18,7 @@ public class BlackListMemoryCache extends AbstractMemoryCacheOperator { @Override public String getCommonKeyPrefix() { - return BLACK_LIST_CACHE_KEY_PREFIX; + return CounterConstants.BLACK_LIST_CACHE_KEY_PREFIX; } } diff --git a/kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/cache/BlackListRedisCache.java b/kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/cache/BlackListRedisCache.java similarity index 68% rename from kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/cache/BlackListRedisCache.java rename to kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/cache/BlackListRedisCache.java index 4f7b97d0c..7963f3f40 100644 --- a/kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/cache/BlackListRedisCache.java +++ b/kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/cache/BlackListRedisCache.java @@ -1,9 +1,9 @@ -package cn.stylefeng.roses.kemel.validator.blackwhite.cache; +package cn.stylefeng.roses.kemel.security.blackwhite.cache; import cn.stylefeng.roses.kernel.cache.redis.AbstractRedisCacheOperator; +import cn.stylefeng.roses.kernel.security.api.constants.CounterConstants; import org.springframework.data.redis.core.RedisTemplate; -import static cn.stylefeng.roses.kernel.validator.api.constants.ValidatorConstants.BLACK_LIST_CACHE_KEY_PREFIX; /** * 黑名单用户的缓存 @@ -19,7 +19,7 @@ public class BlackListRedisCache extends AbstractRedisCacheOperator { @Override public String getCommonKeyPrefix() { - return BLACK_LIST_CACHE_KEY_PREFIX; + return CounterConstants.BLACK_LIST_CACHE_KEY_PREFIX; } } diff --git a/kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/cache/WhiteListMemoryCache.java b/kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/cache/WhiteListMemoryCache.java similarity index 67% rename from kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/cache/WhiteListMemoryCache.java rename to kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/cache/WhiteListMemoryCache.java index dff99a50b..24487379a 100644 --- a/kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/cache/WhiteListMemoryCache.java +++ b/kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/cache/WhiteListMemoryCache.java @@ -1,9 +1,8 @@ -package cn.stylefeng.roses.kemel.validator.blackwhite.cache; +package cn.stylefeng.roses.kemel.security.blackwhite.cache; import cn.hutool.cache.impl.TimedCache; import cn.stylefeng.roses.kernel.cache.memory.AbstractMemoryCacheOperator; - -import static cn.stylefeng.roses.kernel.validator.api.constants.ValidatorConstants.WHITE_LIST_CACHE_KEY_PREFIX; +import cn.stylefeng.roses.kernel.security.api.constants.CounterConstants; /** * 白名单的缓存 @@ -19,7 +18,7 @@ public class WhiteListMemoryCache extends AbstractMemoryCacheOperator { @Override public String getCommonKeyPrefix() { - return WHITE_LIST_CACHE_KEY_PREFIX; + return CounterConstants.WHITE_LIST_CACHE_KEY_PREFIX; } } diff --git a/kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/cache/WhiteListRedisCache.java b/kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/cache/WhiteListRedisCache.java similarity index 67% rename from kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/cache/WhiteListRedisCache.java rename to kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/cache/WhiteListRedisCache.java index 6758d3a5f..c80ea7b97 100644 --- a/kernel-d-validator/validator-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/validator/blackwhite/cache/WhiteListRedisCache.java +++ b/kernel-d-security/security-sdk-black-white/src/main/java/cn/stylefeng/roses/kemel/security/blackwhite/cache/WhiteListRedisCache.java @@ -1,9 +1,9 @@ -package cn.stylefeng.roses.kemel.validator.blackwhite.cache; +package cn.stylefeng.roses.kemel.security.blackwhite.cache; import cn.hutool.cache.impl.TimedCache; import cn.stylefeng.roses.kernel.cache.memory.AbstractMemoryCacheOperator; +import cn.stylefeng.roses.kernel.security.api.constants.CounterConstants; -import static cn.stylefeng.roses.kernel.validator.api.constants.ValidatorConstants.WHITE_LIST_CACHE_KEY_PREFIX; /** * 白名单的缓存 @@ -19,7 +19,7 @@ public class WhiteListRedisCache extends AbstractMemoryCacheOperator { @Override public String getCommonKeyPrefix() { - return WHITE_LIST_CACHE_KEY_PREFIX; + return CounterConstants.WHITE_LIST_CACHE_KEY_PREFIX; } } diff --git a/kernel-d-validator/validator-sdk-captcha/README.md b/kernel-d-security/security-sdk-captcha/README.md similarity index 100% rename from kernel-d-validator/validator-sdk-captcha/README.md rename to kernel-d-security/security-sdk-captcha/README.md diff --git a/kernel-d-validator/validator-sdk-captcha/pom.xml b/kernel-d-security/security-sdk-captcha/pom.xml similarity index 88% rename from kernel-d-validator/validator-sdk-captcha/pom.xml rename to kernel-d-security/security-sdk-captcha/pom.xml index 30bba5e00..8a88e5871 100644 --- a/kernel-d-validator/validator-sdk-captcha/pom.xml +++ b/kernel-d-security/security-sdk-captcha/pom.xml @@ -6,18 +6,18 @@ cn.stylefeng.roses - kernel-d-validator + kernel-d-security 7.0.1 - validator-sdk-captcha + security-sdk-captcha - + cn.stylefeng.roses - validator-api + security-api 7.0.1 diff --git a/kernel-d-validator/validator-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/validator/captcha/CaptchaService.java b/kernel-d-security/security-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/security/captcha/CaptchaService.java similarity index 88% rename from kernel-d-validator/validator-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/validator/captcha/CaptchaService.java rename to kernel-d-security/security-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/security/captcha/CaptchaService.java index 832833e68..4373460e4 100644 --- a/kernel-d-validator/validator-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/validator/captcha/CaptchaService.java +++ b/kernel-d-security/security-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/security/captcha/CaptchaService.java @@ -1,10 +1,10 @@ -package cn.stylefeng.roses.kemel.validator.captcha; +package cn.stylefeng.roses.kemel.security.captcha; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; -import cn.stylefeng.roses.kernel.validator.api.CaptchaApi; -import cn.stylefeng.roses.kernel.validator.api.pojo.EasyCaptcha; +import cn.stylefeng.roses.kernel.security.api.CaptchaApi; +import cn.stylefeng.roses.kernel.security.api.pojo.EasyCaptcha; import com.wf.captcha.SpecCaptcha; /** diff --git a/kernel-d-validator/validator-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/validator/captcha/cache/CaptchaMemoryCache.java b/kernel-d-security/security-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/security/captcha/cache/CaptchaMemoryCache.java similarity index 68% rename from kernel-d-validator/validator-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/validator/captcha/cache/CaptchaMemoryCache.java rename to kernel-d-security/security-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/security/captcha/cache/CaptchaMemoryCache.java index 14defab2d..f2d67e2d6 100644 --- a/kernel-d-validator/validator-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/validator/captcha/cache/CaptchaMemoryCache.java +++ b/kernel-d-security/security-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/security/captcha/cache/CaptchaMemoryCache.java @@ -1,9 +1,8 @@ -package cn.stylefeng.roses.kemel.validator.captcha.cache; +package cn.stylefeng.roses.kemel.security.captcha.cache; import cn.hutool.cache.impl.TimedCache; import cn.stylefeng.roses.kernel.cache.memory.AbstractMemoryCacheOperator; - -import static cn.stylefeng.roses.kernel.validator.api.constants.CaptchaConstants.CAPTCHA_CACHE_KEY_PREFIX; +import cn.stylefeng.roses.kernel.security.api.constants.CaptchaConstants; /** * 图形验证码缓存 @@ -19,6 +18,7 @@ public class CaptchaMemoryCache extends AbstractMemoryCacheOperator { @Override public String getCommonKeyPrefix() { - return CAPTCHA_CACHE_KEY_PREFIX; + return CaptchaConstants.CAPTCHA_CACHE_KEY_PREFIX; } + } diff --git a/kernel-d-validator/validator-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/validator/captcha/cache/CaptchaRedisCache.java b/kernel-d-security/security-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/security/captcha/cache/CaptchaRedisCache.java similarity index 68% rename from kernel-d-validator/validator-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/validator/captcha/cache/CaptchaRedisCache.java rename to kernel-d-security/security-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/security/captcha/cache/CaptchaRedisCache.java index 26ad0ac6b..e477281ec 100644 --- a/kernel-d-validator/validator-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/validator/captcha/cache/CaptchaRedisCache.java +++ b/kernel-d-security/security-sdk-captcha/src/main/java/cn/stylefeng/roses/kemel/security/captcha/cache/CaptchaRedisCache.java @@ -1,9 +1,8 @@ -package cn.stylefeng.roses.kemel.validator.captcha.cache; +package cn.stylefeng.roses.kemel.security.captcha.cache; import cn.hutool.cache.impl.TimedCache; import cn.stylefeng.roses.kernel.cache.memory.AbstractMemoryCacheOperator; - -import static cn.stylefeng.roses.kernel.validator.api.constants.CaptchaConstants.CAPTCHA_CACHE_KEY_PREFIX; +import cn.stylefeng.roses.kernel.security.api.constants.CaptchaConstants; /** * 图形验证码缓存 @@ -19,7 +18,7 @@ public class CaptchaRedisCache extends AbstractMemoryCacheOperator { @Override public String getCommonKeyPrefix() { - return CAPTCHA_CACHE_KEY_PREFIX; + return CaptchaConstants.CAPTCHA_CACHE_KEY_PREFIX; } } diff --git a/kernel-d-validator/validator-sdk-count/README.md b/kernel-d-security/security-sdk-count/README.md similarity index 100% rename from kernel-d-validator/validator-sdk-count/README.md rename to kernel-d-security/security-sdk-count/README.md diff --git a/kernel-d-validator/validator-sdk-count/pom.xml b/kernel-d-security/security-sdk-count/pom.xml similarity index 86% rename from kernel-d-validator/validator-sdk-count/pom.xml rename to kernel-d-security/security-sdk-count/pom.xml index 5a231050d..1f9aa0654 100644 --- a/kernel-d-validator/validator-sdk-count/pom.xml +++ b/kernel-d-security/security-sdk-count/pom.xml @@ -6,18 +6,18 @@ cn.stylefeng.roses - kernel-d-validator + kernel-d-security 7.0.1 - validator-sdk-count + security-sdk-count - + cn.stylefeng.roses - validator-api + security-api 7.0.1 diff --git a/kernel-d-validator/validator-sdk-count/src/main/java/cn/stylefeng/roses/kemel/validator/count/DefaultCountValidator.java b/kernel-d-security/security-sdk-count/src/main/java/cn/stylefeng/roses/kemel/security/count/DefaultCountValidator.java similarity index 76% rename from kernel-d-validator/validator-sdk-count/src/main/java/cn/stylefeng/roses/kemel/validator/count/DefaultCountValidator.java rename to kernel-d-security/security-sdk-count/src/main/java/cn/stylefeng/roses/kemel/security/count/DefaultCountValidator.java index 78522ced0..e4f4c5460 100644 --- a/kernel-d-validator/validator-sdk-count/src/main/java/cn/stylefeng/roses/kemel/validator/count/DefaultCountValidator.java +++ b/kernel-d-security/security-sdk-count/src/main/java/cn/stylefeng/roses/kemel/security/count/DefaultCountValidator.java @@ -1,12 +1,12 @@ -package cn.stylefeng.roses.kemel.validator.count; +package cn.stylefeng.roses.kemel.security.count; import cn.hutool.core.convert.Convert; import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; import cn.stylefeng.roses.kernel.cache.api.constants.CacheConstants; -import cn.stylefeng.roses.kernel.validator.api.CountValidatorApi; -import cn.stylefeng.roses.kernel.validator.api.constants.ValidatorConstants; -import cn.stylefeng.roses.kernel.validator.api.exception.CountValidateException; -import cn.stylefeng.roses.kernel.validator.api.exception.enums.CountValidateExceptionEnum; +import cn.stylefeng.roses.kernel.security.api.CountValidatorApi; +import cn.stylefeng.roses.kernel.security.api.constants.CounterConstants; +import cn.stylefeng.roses.kernel.security.api.exception.CountValidateException; +import cn.stylefeng.roses.kernel.security.api.exception.enums.CountValidateExceptionEnum; /** * 默认的计数校验器 @@ -29,10 +29,10 @@ public class DefaultCountValidator implements CountValidatorApi { long currentTimeSeconds = System.currentTimeMillis() / 1000; // 上一次操作时间秒数的缓存key COUNT_VALIDATE:key:RECORD_SECONDS - String recordTimeSecondsKey = ValidatorConstants.COUNT_VALIDATE_CACHE_KEY_PREFIX + CacheConstants.CACHE_DELIMITER + key + CacheConstants.CACHE_DELIMITER + ValidatorConstants.RECORD_TIME_SECONDS; + String recordTimeSecondsKey = CounterConstants.COUNT_VALIDATE_CACHE_KEY_PREFIX + CacheConstants.CACHE_DELIMITER + key + CacheConstants.CACHE_DELIMITER + CounterConstants.RECORD_TIME_SECONDS; // 上一次执行次数的记录缓存key COUNT_VALIDATE:key:COUNT_NUMBER - String countNumberKey = ValidatorConstants.COUNT_VALIDATE_CACHE_KEY_PREFIX + CacheConstants.CACHE_DELIMITER + key + CacheConstants.CACHE_DELIMITER + ValidatorConstants.COUNT_NUMBER; + String countNumberKey = CounterConstants.COUNT_VALIDATE_CACHE_KEY_PREFIX + CacheConstants.CACHE_DELIMITER + key + CacheConstants.CACHE_DELIMITER + CounterConstants.COUNT_NUMBER; // 获取缓存中上一次操作时间秒数 Object recordTimeSecondsObject = cacheOperatorApi.get(recordTimeSecondsKey); diff --git a/kernel-d-validator/validator-sdk-count/src/main/java/cn/stylefeng/roses/kemel/validator/count/cache/DefaultCountValidateCache.java b/kernel-d-security/security-sdk-count/src/main/java/cn/stylefeng/roses/kemel/security/count/cache/DefaultCountValidateCache.java similarity index 67% rename from kernel-d-validator/validator-sdk-count/src/main/java/cn/stylefeng/roses/kemel/validator/count/cache/DefaultCountValidateCache.java rename to kernel-d-security/security-sdk-count/src/main/java/cn/stylefeng/roses/kemel/security/count/cache/DefaultCountValidateCache.java index 9ac6c2b64..a52427e05 100644 --- a/kernel-d-validator/validator-sdk-count/src/main/java/cn/stylefeng/roses/kemel/validator/count/cache/DefaultCountValidateCache.java +++ b/kernel-d-security/security-sdk-count/src/main/java/cn/stylefeng/roses/kemel/security/count/cache/DefaultCountValidateCache.java @@ -1,9 +1,9 @@ -package cn.stylefeng.roses.kemel.validator.count.cache; +package cn.stylefeng.roses.kemel.security.count.cache; import cn.hutool.cache.impl.TimedCache; import cn.stylefeng.roses.kernel.cache.memory.AbstractMemoryCacheOperator; +import cn.stylefeng.roses.kernel.security.api.constants.CounterConstants; -import static cn.stylefeng.roses.kernel.validator.api.constants.ValidatorConstants.COUNT_VALIDATE_CACHE_KEY_PREFIX; /** * 计数用的缓存 @@ -19,7 +19,7 @@ public class DefaultCountValidateCache extends AbstractMemoryCacheOperator @Override public String getCommonKeyPrefix() { - return COUNT_VALIDATE_CACHE_KEY_PREFIX; + return CounterConstants.COUNT_VALIDATE_CACHE_KEY_PREFIX; } } diff --git a/kernel-d-security/security-spring-boot-starter/pom.xml b/kernel-d-security/security-spring-boot-starter/pom.xml index 23642f54f..8a4d3895b 100644 --- a/kernel-d-security/security-spring-boot-starter/pom.xml +++ b/kernel-d-security/security-spring-boot-starter/pom.xml @@ -24,6 +24,27 @@ 7.0.1 + + + cn.stylefeng.roses + security-sdk-captcha + 7.0.1 + + + + + cn.stylefeng.roses + security-sdk-count + 7.0.1 + + + + + cn.stylefeng.roses + security-sdk-black-white + 7.0.1 + + diff --git a/kernel-d-security/security-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/security/starter/CaptchaAutoConfiguration.java b/kernel-d-security/security-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/security/starter/CaptchaAutoConfiguration.java new file mode 100644 index 000000000..daceed918 --- /dev/null +++ b/kernel-d-security/security-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/security/starter/CaptchaAutoConfiguration.java @@ -0,0 +1,36 @@ +package cn.stylefeng.roses.kernel.security.starter; + +import cn.hutool.cache.CacheUtil; +import cn.hutool.cache.impl.TimedCache; +import cn.stylefeng.roses.kemel.security.captcha.CaptchaService; +import cn.stylefeng.roses.kemel.security.captcha.cache.CaptchaMemoryCache; +import cn.stylefeng.roses.kernel.cache.api.constants.CacheConstants; +import cn.stylefeng.roses.kernel.security.api.CaptchaApi; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * 图形验证码自动配置 + * + * @author fengshuonan + * @date 2020/12/1 21:44 + */ +@Configuration +public class CaptchaAutoConfiguration { + + /** + * 图形验证码 + * + * @author chenjinlong + * @date 2021/1/15 11:25 + */ + @Bean + @ConditionalOnMissingBean(CaptchaApi.class) + public CaptchaApi captchaApi() { + TimedCache timedCache = CacheUtil.newTimedCache(CacheConstants.NONE_EXPIRED_TIME); + CaptchaMemoryCache captchaMemoryCache = new CaptchaMemoryCache(timedCache); + return new CaptchaService(captchaMemoryCache); + } + +} diff --git a/kernel-d-validator/validator-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/validator/starter/ValidatorAutoConfiguration.java b/kernel-d-security/security-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/security/starter/ValidatorAutoConfiguration.java similarity index 53% rename from kernel-d-validator/validator-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/validator/starter/ValidatorAutoConfiguration.java rename to kernel-d-security/security-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/security/starter/ValidatorAutoConfiguration.java index fdb6c0291..7f7712391 100644 --- a/kernel-d-validator/validator-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/validator/starter/ValidatorAutoConfiguration.java +++ b/kernel-d-security/security-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/security/starter/ValidatorAutoConfiguration.java @@ -1,24 +1,21 @@ -package cn.stylefeng.roses.kernel.validator.starter; +package cn.stylefeng.roses.kernel.security.starter; import cn.hutool.cache.CacheUtil; import cn.hutool.cache.impl.TimedCache; -import cn.stylefeng.roses.kemel.validator.blackwhite.BlackListService; -import cn.stylefeng.roses.kemel.validator.blackwhite.WhiteListService; -import cn.stylefeng.roses.kemel.validator.blackwhite.cache.BlackListMemoryCache; -import cn.stylefeng.roses.kemel.validator.blackwhite.cache.WhiteListMemoryCache; -import cn.stylefeng.roses.kemel.validator.captcha.CaptchaService; -import cn.stylefeng.roses.kemel.validator.captcha.cache.CaptchaMemoryCache; -import cn.stylefeng.roses.kemel.validator.count.DefaultCountValidator; -import cn.stylefeng.roses.kemel.validator.count.cache.DefaultCountValidateCache; -import cn.stylefeng.roses.kernel.validator.api.BlackListApi; -import cn.stylefeng.roses.kernel.validator.api.CaptchaApi; -import cn.stylefeng.roses.kernel.validator.api.CountValidatorApi; -import cn.stylefeng.roses.kernel.validator.api.WhiteListApi; +import cn.stylefeng.roses.kemel.security.blackwhite.BlackListService; +import cn.stylefeng.roses.kemel.security.blackwhite.WhiteListService; +import cn.stylefeng.roses.kemel.security.blackwhite.cache.BlackListMemoryCache; +import cn.stylefeng.roses.kemel.security.blackwhite.cache.WhiteListMemoryCache; +import cn.stylefeng.roses.kemel.security.count.DefaultCountValidator; +import cn.stylefeng.roses.kemel.security.count.cache.DefaultCountValidateCache; +import cn.stylefeng.roses.kernel.cache.api.constants.CacheConstants; +import cn.stylefeng.roses.kernel.security.api.BlackListApi; +import cn.stylefeng.roses.kernel.security.api.CountValidatorApi; +import cn.stylefeng.roses.kernel.security.api.WhiteListApi; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import static cn.stylefeng.roses.kernel.cache.api.constants.CacheConstants.NONE_EXPIRED_TIME; /** * 校验器自动配置 @@ -38,7 +35,7 @@ public class ValidatorAutoConfiguration { @Bean @ConditionalOnMissingBean(BlackListApi.class) public BlackListApi blackListApi() { - TimedCache timedCache = CacheUtil.newTimedCache(NONE_EXPIRED_TIME); + TimedCache timedCache = CacheUtil.newTimedCache(CacheConstants.NONE_EXPIRED_TIME); BlackListMemoryCache blackListMemoryCache = new BlackListMemoryCache(timedCache); return new BlackListService(blackListMemoryCache); } @@ -52,7 +49,7 @@ public class ValidatorAutoConfiguration { @Bean @ConditionalOnMissingBean(CountValidatorApi.class) public CountValidatorApi countValidatorApi() { - TimedCache timedCache = CacheUtil.newTimedCache(NONE_EXPIRED_TIME); + TimedCache timedCache = CacheUtil.newTimedCache(CacheConstants.NONE_EXPIRED_TIME); DefaultCountValidateCache defaultCountValidateCache = new DefaultCountValidateCache(timedCache); return new DefaultCountValidator(defaultCountValidateCache); } @@ -66,23 +63,9 @@ public class ValidatorAutoConfiguration { @Bean @ConditionalOnMissingBean(WhiteListApi.class) public WhiteListApi whiteListApi() { - TimedCache timedCache = CacheUtil.newTimedCache(NONE_EXPIRED_TIME); + TimedCache timedCache = CacheUtil.newTimedCache(CacheConstants.NONE_EXPIRED_TIME); WhiteListMemoryCache whiteListMemoryCache = new WhiteListMemoryCache(timedCache); return new WhiteListService(whiteListMemoryCache); } - /** - * 图形验证码 - * - * @author chenjinlong - * @date 2021/1/15 11:25 - */ - @Bean - @ConditionalOnMissingBean(CaptchaApi.class) - public CaptchaApi captchaApi() { - TimedCache timedCache = CacheUtil.newTimedCache(NONE_EXPIRED_TIME); - CaptchaMemoryCache captchaMemoryCache = new CaptchaMemoryCache(timedCache); - return new CaptchaService(captchaMemoryCache); - } - } diff --git a/kernel-d-security/security-spring-boot-starter/src/main/resources/META-INF/spring.factories b/kernel-d-security/security-spring-boot-starter/src/main/resources/META-INF/spring.factories index da2e401d3..98de979e7 100644 --- a/kernel-d-security/security-spring-boot-starter/src/main/resources/META-INF/spring.factories +++ b/kernel-d-security/security-spring-boot-starter/src/main/resources/META-INF/spring.factories @@ -1,3 +1,5 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ cn.stylefeng.roses.kernel.security.starter.GunsSecurityAutoConfiguration,\ - cn.stylefeng.roses.kernel.security.starter.GunsXssAutoConfiguration + cn.stylefeng.roses.kernel.security.starter.GunsXssAutoConfiguration,\ + cn.stylefeng.roses.kernel.security.starter.ValidatorAutoConfiguration,\ + cn.stylefeng.roses.kernel.security.starter.CaptchaAutoConfiguration diff --git a/kernel-d-sms/sms-business-validation/pom.xml b/kernel-d-sms/sms-business-validation/pom.xml index 652de85a3..f985a3de3 100644 --- a/kernel-d-sms/sms-business-validation/pom.xml +++ b/kernel-d-sms/sms-business-validation/pom.xml @@ -47,6 +47,14 @@ 7.0.1 + + + + cn.stylefeng.roses + security-api + 7.0.1 + + diff --git a/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/impl/SysSmsInfoServiceImpl.java b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/impl/SysSmsInfoServiceImpl.java index 3c04fff70..a703dc584 100644 --- a/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/impl/SysSmsInfoServiceImpl.java +++ b/kernel-d-sms/sms-business-validation/src/main/java/cn/stylefeng/roses/kernel/sms/modular/service/impl/SysSmsInfoServiceImpl.java @@ -7,6 +7,7 @@ import cn.hutool.core.util.StrUtil; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.security.api.CaptchaApi; import cn.stylefeng.roses.kernel.sms.api.SmsSenderApi; import cn.stylefeng.roses.kernel.sms.api.exception.SmsException; import cn.stylefeng.roses.kernel.sms.api.expander.SmsConfigExpander; @@ -19,7 +20,6 @@ import cn.stylefeng.roses.kernel.sms.modular.param.SysSmsSendParam; import cn.stylefeng.roses.kernel.sms.modular.param.SysSmsVerifyParam; import cn.stylefeng.roses.kernel.sms.modular.service.SysSmsInfoService; import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException; -import cn.stylefeng.roses.kernel.validator.api.CaptchaApi; import cn.stylefeng.roses.kernel.validator.api.exception.enums.ValidatorExceptionEnum; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; diff --git a/kernel-d-validator/pom.xml b/kernel-d-validator/pom.xml index 4523cb6c6..cc4cc3ac1 100644 --- a/kernel-d-validator/pom.xml +++ b/kernel-d-validator/pom.xml @@ -17,9 +17,6 @@ validator-api - validator-sdk-count - validator-sdk-black-white - validator-sdk-captcha validator-spring-boot-starter diff --git a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/constants/ValidatorConstants.java b/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/constants/ValidatorConstants.java index 6bbae2ff6..5d3c1e5f7 100644 --- a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/constants/ValidatorConstants.java +++ b/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/constants/ValidatorConstants.java @@ -28,29 +28,4 @@ public interface ValidatorConstants { */ String DEFAULT_LOGIC_DELETE_FIELD_VALUE = "Y"; - /** - * 计数校验用的 缓存前缀标识 - */ - String COUNT_VALIDATE_CACHE_KEY_PREFIX = "COUNT_VALIDATE"; - - /** - * 黑名单 缓存前缀标识 - */ - String BLACK_LIST_CACHE_KEY_PREFIX = "BLACK_LIST"; - - /** - * 白名单 缓存前缀标识 - */ - String WHITE_LIST_CACHE_KEY_PREFIX = "WHITE_LIST"; - - /** - * 计数校验用的 计数当时的秒数 - */ - String RECORD_TIME_SECONDS = "RECORD_TIME_SECONDS"; - - /** - * 计数校验用的 时间窗内的次数 - */ - String COUNT_NUMBER = "COUNT_NUMBER"; - } diff --git a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/expander/XssConfigExpander.java b/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/expander/XssConfigExpander.java deleted file mode 100644 index 71c6d3a67..000000000 --- a/kernel-d-validator/validator-api/src/main/java/cn/stylefeng/roses/kernel/validator/api/expander/XssConfigExpander.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.stylefeng.roses.kernel.validator.api.expander; - -/** - * XSS相关配置 - * - * @author fengshuonan - * @date 2021/1/13 23:21 - */ -public class XssConfigExpander { - - -} diff --git a/kernel-d-validator/validator-spring-boot-starter/src/main/resources/META-INF/spring.factories b/kernel-d-validator/validator-spring-boot-starter/src/main/resources/META-INF/spring.factories index f16c77584..f52bdbe1d 100644 --- a/kernel-d-validator/validator-spring-boot-starter/src/main/resources/META-INF/spring.factories +++ b/kernel-d-validator/validator-spring-boot-starter/src/main/resources/META-INF/spring.factories @@ -1,3 +1,2 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -cn.stylefeng.roses.kernel.validator.starter.ValidatorAutoConfiguration,\ cn.stylefeng.roses.kernel.validator.starter.MethodArgumentResolverAutoConfiguration diff --git a/kernel-s-system/system-business-user/pom.xml b/kernel-s-system/system-business-user/pom.xml index bf1d7cce0..e6c28c0ca 100644 --- a/kernel-s-system/system-business-user/pom.xml +++ b/kernel-s-system/system-business-user/pom.xml @@ -62,6 +62,14 @@ 7.0.1 + + + + cn.stylefeng.roses + security-api + 7.0.1 + + diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/KaptchaController.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/KaptchaController.java index 5160f446b..75bdc52ba 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/KaptchaController.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/KaptchaController.java @@ -5,7 +5,7 @@ import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource; import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource; -import cn.stylefeng.roses.kernel.validator.api.CaptchaApi; +import cn.stylefeng.roses.kernel.security.api.CaptchaApi; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource;