package com.iplatform.base.captcha; import com.iplatform.base.util.CaptchaUtils; import com.iplatform.core.BeanContextAware; import com.walker.cache.CacheProvider; import com.walker.infrastructure.utils.StringUtils; import com.walker.support.kaptcha.WordCaptchaProvider; import com.walker.web.CaptchaResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 普通字符验证码实现。 * @author 时克英 * @date 2023-05-12 */ public class TextCaptchaProvider extends WordCaptchaProvider { protected final transient Logger logger = LoggerFactory.getLogger(this.getClass()); @Override public boolean validateCaptcha(CaptchaResult data) { // String verifyKey = CaptchaUtils.getVerifyKey(data); CacheProvider captchaCacheProvider = (CacheProvider) BeanContextAware.getBeanByName("captchaCacheProvider"); String codeGenerate = captchaCacheProvider.getCacheData(CaptchaUtils.getVerifyKey(data)); if(StringUtils.isEmpty(codeGenerate)){ logger.error("DefaultCaptchaProvider:图像验证信息已失效!"); return false; } if(codeGenerate.equalsIgnoreCase(data.getCode())){ logger.debug("文本验证通过:{}", data.getCode()); return true; } return false; } }