Browse Source

BladeRedisCache全局替换为BladeRedis

test
smallchill 5 years ago
parent
commit
df3112238f
  1. 6
      blade-auth/src/main/java/org/springblade/auth/config/BladeAuthorizationServerConfiguration.java
  2. 6
      blade-auth/src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoint.java
  3. 6
      blade-auth/src/main/java/org/springblade/auth/granter/BladeTokenGranter.java
  4. 10
      blade-auth/src/main/java/org/springblade/auth/granter/CaptchaTokenGranter.java
  5. 6
      blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/sms/AliSmsBuilder.java
  6. 6
      blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/sms/QiniuSmsBuilder.java
  7. 16
      blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/sms/SmsBuilder.java
  8. 6
      blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/sms/TencentSmsBuilder.java
  9. 6
      blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/sms/YunpianSmsBuilder.java
  10. 6
      blade-ops/blade-resource/src/main/java/org/springblade/resource/config/BladeSmsConfiguration.java

6
blade-auth/src/main/java/org/springblade/auth/config/BladeAuthorizationServerConfiguration.java

@ -22,7 +22,7 @@ import org.springblade.auth.constant.AuthConstant;
import org.springblade.auth.granter.BladeTokenGranter;
import org.springblade.auth.props.AuthProperties;
import org.springblade.auth.service.BladeClientDetailsServiceImpl;
import org.springblade.core.redis.cache.BladeRedisCache;
import org.springblade.core.redis.cache.BladeRedis;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
@ -67,12 +67,12 @@ public class BladeAuthorizationServerConfiguration extends AuthorizationServerCo
private JwtAccessTokenConverter jwtAccessTokenConverter;
private BladeRedisCache redisCache;
private BladeRedis bladeRedis;
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) {
//获取自定义tokenGranter
TokenGranter tokenGranter = BladeTokenGranter.getTokenGranter(authenticationManager, endpoints, redisCache);
TokenGranter tokenGranter = BladeTokenGranter.getTokenGranter(authenticationManager, endpoints, bladeRedis);
//配置端点
endpoints.tokenStore(tokenStore)

6
blade-auth/src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoint.java

@ -20,7 +20,7 @@ import com.wf.captcha.SpecCaptcha;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.cache.CacheNames;
import org.springblade.core.redis.cache.BladeRedisCache;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@ -42,7 +42,7 @@ import java.time.Duration;
@AllArgsConstructor
public class BladeTokenEndPoint {
private BladeRedisCache redisCache;
private BladeRedis bladeRedis;
@GetMapping("/oauth/user-info")
public R<Authentication> currentUser(Authentication authentication) {
@ -55,7 +55,7 @@ public class BladeTokenEndPoint {
String verCode = specCaptcha.text().toLowerCase();
String key = StringUtil.randomUUID();
// 存入redis并设置过期时间为30分钟
redisCache.setEx(CacheNames.CAPTCHA_KEY + key, verCode, Duration.ofMinutes(30));
bladeRedis.setEx(CacheNames.CAPTCHA_KEY + key, verCode, Duration.ofMinutes(30));
// 将key和base64返回给前端
return Kv.create().set("key", key).set("image", specCaptcha.toBase64());
}

6
blade-auth/src/main/java/org/springblade/auth/granter/BladeTokenGranter.java

@ -16,7 +16,7 @@
*/
package org.springblade.auth.granter;
import org.springblade.core.redis.cache.BladeRedisCache;
import org.springblade.core.redis.cache.BladeRedis;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer;
import org.springframework.security.oauth2.provider.CompositeTokenGranter;
@ -36,11 +36,11 @@ public class BladeTokenGranter {
/**
* 自定义tokenGranter
*/
public static TokenGranter getTokenGranter(final AuthenticationManager authenticationManager, final AuthorizationServerEndpointsConfigurer endpoints, BladeRedisCache redisCache) {
public static TokenGranter getTokenGranter(final AuthenticationManager authenticationManager, final AuthorizationServerEndpointsConfigurer endpoints, BladeRedis bladeRedis) {
// 默认tokenGranter集合
List<TokenGranter> granters = new ArrayList<>(Collections.singletonList(endpoints.getTokenGranter()));
// 增加验证码模式
granters.add(new CaptchaTokenGranter(authenticationManager, endpoints.getTokenServices(), endpoints.getClientDetailsService(), endpoints.getOAuth2RequestFactory(), redisCache));
granters.add(new CaptchaTokenGranter(authenticationManager, endpoints.getTokenServices(), endpoints.getClientDetailsService(), endpoints.getOAuth2RequestFactory(), bladeRedis));
// 组合tokenGranter集合
return new CompositeTokenGranter(granters);
}

10
blade-auth/src/main/java/org/springblade/auth/granter/CaptchaTokenGranter.java

@ -2,7 +2,7 @@ package org.springblade.auth.granter;
import org.springblade.auth.utils.TokenUtil;
import org.springblade.common.cache.CacheNames;
import org.springblade.core.redis.cache.BladeRedisCache;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.core.tool.utils.WebUtil;
import org.springframework.security.authentication.*;
@ -28,12 +28,12 @@ public class CaptchaTokenGranter extends AbstractTokenGranter {
private final AuthenticationManager authenticationManager;
private BladeRedisCache redisCache;
private BladeRedis bladeRedis;
public CaptchaTokenGranter(AuthenticationManager authenticationManager,
AuthorizationServerTokenServices tokenServices, ClientDetailsService clientDetailsService, OAuth2RequestFactory requestFactory, BladeRedisCache redisCache) {
AuthorizationServerTokenServices tokenServices, ClientDetailsService clientDetailsService, OAuth2RequestFactory requestFactory, BladeRedis bladeRedis) {
this(authenticationManager, tokenServices, clientDetailsService, requestFactory, GRANT_TYPE);
this.redisCache = redisCache;
this.bladeRedis = bladeRedis;
}
protected CaptchaTokenGranter(AuthenticationManager authenticationManager, AuthorizationServerTokenServices tokenServices,
@ -49,7 +49,7 @@ public class CaptchaTokenGranter extends AbstractTokenGranter {
String key = request.getHeader(TokenUtil.CAPTCHA_HEADER_KEY);
String code = request.getHeader(TokenUtil.CAPTCHA_HEADER_CODE);
// 获取验证码
String redisCode = redisCache.get(CacheNames.CAPTCHA_KEY + key);
String redisCode = bladeRedis.get(CacheNames.CAPTCHA_KEY + key);
// 判断验证码
if (code == null || !StringUtil.equalsIgnoreCase(redisCode, code)) {
throw new UserDeniedAuthorizationException(TokenUtil.CAPTCHA_NOT_CORRECT);

6
blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/sms/AliSmsBuilder.java

@ -21,7 +21,7 @@ import com.aliyuncs.IAcsClient;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
import lombok.SneakyThrows;
import org.springblade.core.redis.cache.BladeRedisCache;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.sms.SmsTemplate;
import org.springblade.core.sms.aliyun.AliSmsTemplate;
import org.springblade.core.sms.props.SmsProperties;
@ -35,7 +35,7 @@ import org.springblade.resource.entity.Sms;
public class AliSmsBuilder {
@SneakyThrows
public static SmsTemplate template(Sms sms, BladeRedisCache redisCache) {
public static SmsTemplate template(Sms sms, BladeRedis bladeRedis) {
SmsProperties smsProperties = new SmsProperties();
smsProperties.setTemplateId(sms.getTemplateId());
smsProperties.setAccessKey(sms.getAccessKey());
@ -44,7 +44,7 @@ public class AliSmsBuilder {
smsProperties.setSignName(sms.getSignName());
IClientProfile profile = DefaultProfile.getProfile(smsProperties.getRegionId(), smsProperties.getAccessKey(), smsProperties.getSecretKey());
IAcsClient acsClient = new DefaultAcsClient(profile);
return new AliSmsTemplate(smsProperties, acsClient, redisCache);
return new AliSmsTemplate(smsProperties, acsClient, bladeRedis);
}
}

6
blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/sms/QiniuSmsBuilder.java

@ -19,7 +19,7 @@ package org.springblade.resource.builder.sms;
import com.qiniu.sms.SmsManager;
import com.qiniu.util.Auth;
import lombok.SneakyThrows;
import org.springblade.core.redis.cache.BladeRedisCache;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.sms.SmsTemplate;
import org.springblade.core.sms.props.SmsProperties;
import org.springblade.core.sms.qiniu.QiniuSmsTemplate;
@ -33,7 +33,7 @@ import org.springblade.resource.entity.Sms;
public class QiniuSmsBuilder {
@SneakyThrows
public static SmsTemplate template(Sms sms, BladeRedisCache redisCache) {
public static SmsTemplate template(Sms sms, BladeRedis bladeRedis) {
SmsProperties smsProperties = new SmsProperties();
smsProperties.setTemplateId(sms.getTemplateId());
smsProperties.setAccessKey(sms.getAccessKey());
@ -41,7 +41,7 @@ public class QiniuSmsBuilder {
smsProperties.setSignName(sms.getSignName());
Auth auth = Auth.create(smsProperties.getAccessKey(), smsProperties.getSecretKey());
SmsManager smsManager = new SmsManager(auth);
return new QiniuSmsTemplate(smsProperties, smsManager, redisCache);
return new QiniuSmsTemplate(smsProperties, smsManager, bladeRedis);
}
}

16
blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/sms/SmsBuilder.java

@ -20,7 +20,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.redis.cache.BladeRedisCache;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.utils.SecureUtil;
import org.springblade.core.sms.SmsTemplate;
import org.springblade.core.sms.enums.SmsEnum;
@ -50,13 +50,13 @@ public class SmsBuilder {
private final SmsProperties smsProperties;
private final SmsMapper smsMapper;
private final BladeRedisCache redisCache;
private final BladeRedis bladeRedis;
public SmsBuilder(SmsProperties smsProperties, SmsMapper smsMapper, BladeRedisCache redisCache) {
public SmsBuilder(SmsProperties smsProperties, SmsMapper smsMapper, BladeRedis bladeRedis) {
this.smsProperties = smsProperties;
this.smsMapper = smsMapper;
this.redisCache = redisCache;
this.bladeRedis = bladeRedis;
}
/**
@ -96,13 +96,13 @@ public class SmsBuilder {
template = templatePool.get(tenantId);
if (Func.hasEmpty(template, smsCached) || !sms.getTemplateId().equals(smsCached.getTemplateId()) || !sms.getAccessKey().equals(smsCached.getAccessKey())) {
if (sms.getCategory() == SmsEnum.YUNPIAN.getCategory()) {
template = YunpianSmsBuilder.template(sms, redisCache);
template = YunpianSmsBuilder.template(sms, bladeRedis);
} else if (sms.getCategory() == SmsEnum.QINIU.getCategory()) {
template = QiniuSmsBuilder.template(sms, redisCache);
template = QiniuSmsBuilder.template(sms, bladeRedis);
} else if (sms.getCategory() == SmsEnum.ALI.getCategory()) {
template = AliSmsBuilder.template(sms, redisCache);
template = AliSmsBuilder.template(sms, bladeRedis);
} else if (sms.getCategory() == SmsEnum.TENCENT.getCategory()) {
template = TencentSmsBuilder.template(sms, redisCache);
template = TencentSmsBuilder.template(sms, bladeRedis);
}
templatePool.put(tenantId, template);
smsPool.put(tenantId, sms);

6
blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/sms/TencentSmsBuilder.java

@ -18,7 +18,7 @@ package org.springblade.resource.builder.sms;
import com.github.qcloudsms.SmsMultiSender;
import lombok.SneakyThrows;
import org.springblade.core.redis.cache.BladeRedisCache;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.sms.SmsTemplate;
import org.springblade.core.sms.props.SmsProperties;
import org.springblade.core.sms.tencent.TencentSmsTemplate;
@ -33,14 +33,14 @@ import org.springblade.resource.entity.Sms;
public class TencentSmsBuilder {
@SneakyThrows
public static SmsTemplate template(Sms sms, BladeRedisCache redisCache) {
public static SmsTemplate template(Sms sms, BladeRedis bladeRedis) {
SmsProperties smsProperties = new SmsProperties();
smsProperties.setTemplateId(sms.getTemplateId());
smsProperties.setAccessKey(sms.getAccessKey());
smsProperties.setSecretKey(sms.getSecretKey());
smsProperties.setSignName(sms.getSignName());
SmsMultiSender smsSender = new SmsMultiSender(Func.toInt(smsProperties.getAccessKey()), sms.getSecretKey());
return new TencentSmsTemplate(smsProperties, smsSender, redisCache);
return new TencentSmsTemplate(smsProperties, smsSender, bladeRedis);
}
}

6
blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/sms/YunpianSmsBuilder.java

@ -18,7 +18,7 @@ package org.springblade.resource.builder.sms;
import com.yunpian.sdk.YunpianClient;
import lombok.SneakyThrows;
import org.springblade.core.redis.cache.BladeRedisCache;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.sms.SmsTemplate;
import org.springblade.core.sms.props.SmsProperties;
import org.springblade.core.sms.yunpian.YunpianSmsTemplate;
@ -32,13 +32,13 @@ import org.springblade.resource.entity.Sms;
public class YunpianSmsBuilder {
@SneakyThrows
public static SmsTemplate template(Sms sms, BladeRedisCache redisCache) {
public static SmsTemplate template(Sms sms, BladeRedis bladeRedis) {
SmsProperties smsProperties = new SmsProperties();
smsProperties.setTemplateId(sms.getTemplateId());
smsProperties.setAccessKey(sms.getAccessKey());
smsProperties.setSignName(sms.getSignName());
YunpianClient client = new YunpianClient(smsProperties.getAccessKey()).init();
return new YunpianSmsTemplate(smsProperties, client, redisCache);
return new YunpianSmsTemplate(smsProperties, client, bladeRedis);
}
}

6
blade-ops/blade-resource/src/main/java/org/springblade/resource/config/BladeSmsConfiguration.java

@ -17,7 +17,7 @@
package org.springblade.resource.config;
import lombok.AllArgsConstructor;
import org.springblade.core.redis.cache.BladeRedisCache;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.sms.props.SmsProperties;
import org.springblade.resource.builder.sms.SmsBuilder;
import org.springblade.resource.mapper.SmsMapper;
@ -37,11 +37,11 @@ public class BladeSmsConfiguration {
private SmsMapper smsMapper;
private BladeRedisCache redisCache;
private BladeRedis bladeRedis;
@Bean
public SmsBuilder smsBuilder() {
return new SmsBuilder(smsProperties, smsMapper, redisCache);
return new SmsBuilder(smsProperties, smsMapper, bladeRedis);
}
}

Loading…
Cancel
Save