|
@@ -3,11 +3,15 @@ package cn.iocoder.yudao.framework.captcha.config;
|
|
|
import cn.hutool.core.util.ClassUtil;
|
|
|
import cn.iocoder.yudao.framework.captcha.core.enums.CaptchaRedisKeyConstants;
|
|
|
import cn.iocoder.yudao.framework.captcha.core.service.RedisCaptchaServiceImpl;
|
|
|
+import com.xingyuv.captcha.properties.AjCaptchaProperties;
|
|
|
import com.xingyuv.captcha.service.CaptchaCacheService;
|
|
|
+import com.xingyuv.captcha.service.impl.CaptchaServiceFactory;
|
|
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
+
|
|
|
@AutoConfiguration
|
|
|
public class YudaoCaptchaConfiguration {
|
|
|
|
|
@@ -17,9 +21,17 @@ public class YudaoCaptchaConfiguration {
|
|
|
ClassUtil.loadClass(CaptchaRedisKeyConstants.class.getName());
|
|
|
}
|
|
|
|
|
|
+ @Resource
|
|
|
+ private StringRedisTemplate stringRedisTemplate;
|
|
|
+
|
|
|
@Bean
|
|
|
- public CaptchaCacheService captchaCacheService(StringRedisTemplate stringRedisTemplate) {
|
|
|
- return new RedisCaptchaServiceImpl(stringRedisTemplate);
|
|
|
+ public CaptchaCacheService captchaCacheService(AjCaptchaProperties config) {
|
|
|
+ //缓存类型redis/local/....
|
|
|
+ CaptchaCacheService ret = CaptchaServiceFactory.getCache(config.getCacheType().name());
|
|
|
+ if(ret instanceof RedisCaptchaServiceImpl){
|
|
|
+ ((RedisCaptchaServiceImpl)ret).setStringRedisTemplate(stringRedisTemplate);
|
|
|
+ }
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
}
|