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.SimpleKaptchaProvider; import com.walker.web.CaptchaResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 重新实现验证码 验证方法,之前一直没有使用,这次统一使用提供者验证。 * @author 时克英 * @date 2023-04-07 */ public class DefaultCaptchaProvider extends SimpleKaptchaProvider { 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(verifyKey); if(StringUtils.isEmpty(codeGenerate)){ logger.error("DefaultCaptchaProvider:图像验证信息已失效!"); return false; } if(codeGenerate.equalsIgnoreCase(data.getCode())){ logger.debug("图像验证通过:{}", data.getCode()); return true; } return false; } }