4.1.0.RELEASE 登录认证升级为国密算法,数据库password字段内容无需变动

This commit is contained in:
smallchill 2024-07-14 13:20:09 +08:00
parent 7e6b9f0abc
commit e6dc3ba4fe
36 changed files with 180 additions and 99 deletions

View File

@ -1,5 +1,5 @@
<p align="center">
<img src="https://img.shields.io/badge/Release-V4.0.0-green.svg" alt="Downloads">
<img src="https://img.shields.io/badge/Release-V4.1.0-green.svg" alt="Downloads">
<img src="https://img.shields.io/badge/JDK-17+-green.svg" alt="Build Status">
<img src="https://img.shields.io/badge/license-Apache%202-blue.svg" alt="Build Status">
<img src="https://img.shields.io/badge/Spring%20Cloud-2023-blue.svg" alt="Coverage Status">
@ -32,12 +32,13 @@
| 技术栈 | 版本 |
|----------------------|------------|
| Java | 17+ |
| Spring | 6.1.5 |
| Spring Boot | 3.2.4 |
| Spring Cloud | 2023.0.1 |
| Spring Cloud Alibaba | 2022.0.0.0 |
| Nacos Alibaba | 2.3.1 |
| Mybatis Plus | 3.5.6 |
| NodeJS | 18+ |
| Spring | 6.1.10 |
| Spring Boot | 3.2.7 |
| Spring Cloud | 2023.0.2 |
| Spring Cloud Alibaba | 2023.0.1.0 |
| Nacos Alibaba | 2.3.2 |
| Mybatis Plus | 3.5.7 |
## 工程结构

View File

@ -8,7 +8,7 @@
<parent>
<artifactId>SpringBlade</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<artifactId>blade-auth</artifactId>

View File

@ -16,9 +16,9 @@
package org.springblade.auth.controller;
import com.wf.captcha.SpecCaptcha;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springblade.auth.granter.ITokenGranter;
import org.springblade.auth.granter.TokenGranterBuilder;
@ -92,4 +92,11 @@ public class AuthController {
return R.data(Kv.init().set("key", key).set("image", specCaptcha.toBase64()));
}
@PostMapping("/logout")
@Operation(summary = "登出")
public R<Kv> logout() {
// 登出预留逻辑
return R.data(Kv.init().set("code", "200").set("msg", "操作成功"));
}
}

View File

@ -20,6 +20,7 @@ import org.springblade.auth.enums.BladeUserEnum;
import org.springblade.auth.utils.TokenUtil;
import org.springblade.common.cache.CacheNames;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.props.BladeAuthProperties;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.*;
import org.springblade.system.user.entity.UserInfo;
@ -42,6 +43,8 @@ public class CaptchaTokenGranter implements ITokenGranter {
private IUserClient userClient;
private RedisUtil redisUtil;
private BladeAuthProperties authProperties;
@Override
public UserInfo grant(TokenParameter tokenParameter) {
HttpServletRequest request = WebUtil.getRequest();
@ -62,14 +65,17 @@ public class CaptchaTokenGranter implements ITokenGranter {
if (Func.isNoneBlank(account, password)) {
// 获取用户类型
String userType = tokenParameter.getArgs().getStr("userType");
// 解密密码
String decryptPassword = TokenUtil.decryptPassword(password, authProperties.getPublicKey(), authProperties.getPrivateKey());
// 定义返回结果
R<UserInfo> result;
// 根据不同用户类型调用对应的接口返回数据用户可自行拓展
if (userType.equals(BladeUserEnum.WEB.getName())) {
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(password));
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(decryptPassword));
} else if (userType.equals(BladeUserEnum.APP.getName())) {
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(password));
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(decryptPassword));
} else {
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(password));
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(decryptPassword));
}
userInfo = result.isSuccess() ? result.getData() : null;
}

View File

@ -17,6 +17,8 @@ package org.springblade.auth.granter;
import lombok.AllArgsConstructor;
import org.springblade.auth.enums.BladeUserEnum;
import org.springblade.auth.utils.TokenUtil;
import org.springblade.core.secure.props.BladeAuthProperties;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DigestUtil;
import org.springblade.core.tool.utils.Func;
@ -37,6 +39,8 @@ public class PasswordTokenGranter implements ITokenGranter {
private IUserClient userClient;
private BladeAuthProperties authProperties;
@Override
public UserInfo grant(TokenParameter tokenParameter) {
String tenantId = tokenParameter.getArgs().getStr("tenantId");
@ -46,14 +50,17 @@ public class PasswordTokenGranter implements ITokenGranter {
if (Func.isNoneBlank(account, password)) {
// 获取用户类型
String userType = tokenParameter.getArgs().getStr("userType");
// 解密密码
String decryptPassword = TokenUtil.decryptPassword(password, authProperties.getPublicKey(), authProperties.getPrivateKey());
// 定义返回结果
R<UserInfo> result;
// 根据不同用户类型调用对应的接口返回数据用户可自行拓展
if (userType.equals(BladeUserEnum.WEB.getName())) {
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(password));
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(decryptPassword));
} else if (userType.equals(BladeUserEnum.APP.getName())) {
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(password));
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(decryptPassword));
} else {
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(password));
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(decryptPassword));
}
userInfo = result.isSuccess() ? result.getData() : null;
}

View File

@ -20,6 +20,9 @@ import org.springblade.core.secure.AuthInfo;
import org.springblade.core.secure.TokenInfo;
import org.springblade.core.secure.utils.SecureUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.SM2Util;
import org.springblade.core.tool.utils.StringPool;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.system.user.entity.User;
import org.springblade.system.user.entity.UserInfo;
@ -43,7 +46,8 @@ public class TokenUtil {
public final static String USER_NOT_FOUND = "用户名或密码错误";
public final static String HEADER_KEY = "Authorization";
public final static String HEADER_PREFIX = "Basic ";
public final static String DEFAULT_AVATAR = "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png";
public final static String ENCRYPT_PREFIX = "04";
public final static String DEFAULT_AVATAR = "https://bladex.cn/images/logo.png";
/**
* 创建认证token
@ -97,4 +101,31 @@ public class TokenUtil {
return SecureUtil.createJWT(param, "audience", "issuser", TokenConstant.REFRESH_TOKEN);
}
/**
* 解析国密sm2加密密码
*
* @param rawPassword 请求时提交的原密码
* @param publicKey 公钥
* @param privateKey 私钥
* @return 解密后的密码
*/
public static String decryptPassword(String rawPassword, String publicKey, String privateKey) {
// 其中有空则匹配失败
if (StringUtil.isAnyBlank(publicKey, privateKey)) {
return StringPool.EMPTY;
}
// 处理部分工具类加密不带04前缀的情况
if (!StringUtil.startsWithIgnoreCase(rawPassword, ENCRYPT_PREFIX)) {
rawPassword = ENCRYPT_PREFIX + rawPassword;
}
// 解密密码
String decryptPassword = SM2Util.decrypt(rawPassword, privateKey);
// 签名校验
boolean isVerified = SM2Util.verify(decryptPassword, SM2Util.sign(decryptPassword, privateKey), publicKey);
if (!isVerified) {
return StringPool.EMPTY;
}
return decryptPassword;
}
}

View File

@ -1,23 +0,0 @@
package org.springblade.test;
import org.springblade.core.tool.utils.AesUtil;
/**
* aesKey生成器
*
* @author Chill
*/
public class AesKeyGenerator {
public static void main(String[] args) {
System.out.println("=======================================================");
for (int i = 0; i < 10; i++) {
String aesKey = AesUtil.genAesKey();
System.out.println("SpringBlade AesKey[" + aesKey + "] ");
}
System.out.println("=======================================================");
System.out.println("====== blade.token.aes-key 的值从中挑选一个便可 =========");
System.out.println("=======================================================");
}
}

View File

@ -1,5 +1,6 @@
package org.springblade.test;
import org.springblade.core.tool.utils.AesUtil;
import org.springblade.core.tool.utils.RandomType;
import org.springblade.core.tool.utils.StringUtil;
@ -11,13 +12,12 @@ import org.springblade.core.tool.utils.StringUtil;
public class SignKeyGenerator {
public static void main(String[] args) {
System.out.println("=======================================================");
for (int i = 0; i < 10; i++) {
String signKey = StringUtil.random(32, RandomType.ALL);
System.out.println("SpringBlade SignKey[" + signKey + "] ");
}
System.out.println("=======================================================");
System.out.println("====== blade.token.sign-key 的值从中挑选一个便可 =========");
System.out.println("=========== blade.token.sign-key 配置如下 ==============");
System.out.println("#blade配置\n" +
"blade:\n" +
" token:\n" +
" sign-key: " + StringUtil.random(32, RandomType.ALL) +"\n" +
" aes-key: " + AesUtil.genAesKey() );
System.out.println("=======================================================");
}

View File

@ -0,0 +1,46 @@
package org.springblade.test;
import org.bouncycastle.crypto.AsymmetricCipherKeyPair;
import org.bouncycastle.util.encoders.Hex;
import org.springblade.core.tool.utils.SM2Util;
import org.springblade.core.tool.utils.StringPool;
/**
* signKey生成器
*
* @author Chill
*/
public class Sm2KeyGenerator {
public static void main(String[] args) {
System.out.println("================ blade.auth 配置如下 =================");
AsymmetricCipherKeyPair keyPair = SM2Util.generateKeyPair();
String publicKey = SM2Util.getPublicKeyString(keyPair);
String privateKey = SM2Util.getPrivateKeyString(keyPair);
System.out.println("#blade配置 \n" +
"blade:\n" +
" auth:\n" +
" public-key: " + publicKey + "\n" +
" private-key: " + privateKey);
System.out.println("=======================================================");
System.out.println(StringPool.EMPTY);
System.out.println("============== saber website.js 配置如下 ===============");
System.out.println("//saber配置\n" +
"auth: {\n" +
" publicKey: '" + publicKey + "',\n" +
"}");
System.out.println("=======================================================");
System.out.println(StringPool.EMPTY);
System.out.println("============== 密码:[admin] 加密流程如下 ================");
String password = "admin";
byte[] encryptedData = SM2Util.encrypt(password, publicKey);
String decryptedText = SM2Util.decrypt(encryptedData, privateKey);
System.out.println("加密前: " + password);
System.out.println("加密后: " + Hex.toHexString(encryptedData));
System.out.println("解密后: " + decryptedText);
System.out.println("请注意: 此密文为前端加密后调用token接口的密码参数");
System.out.println("=======================================================");
}
}

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>SpringBlade</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>SpringBlade</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-ops</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>org.springblade</groupId>
<artifactId>blade-ops</artifactId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>org.springblade</groupId>
<artifactId>blade-ops</artifactId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-ops</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-ops</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-ops</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,13 +5,13 @@
<parent>
<artifactId>SpringBlade</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>blade-ops</artifactId>
<name>${project.artifactId}</name>
<version>4.0.0</version>
<version>4.1.0</version>
<packaging>pom</packaging>
<modules>
<module>blade-admin</module>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-service-api</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-service-api</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-service-api</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-service-api</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-service-api</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-service-api</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,13 +5,13 @@
<parent>
<artifactId>SpringBlade</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>blade-service-api</artifactId>
<name>${project.artifactId}</name>
<version>4.0.0</version>
<version>4.1.0</version>
<packaging>pom</packaging>
<description>SpringBlade 微服务API集合</description>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-service</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>org.springblade</groupId>
<artifactId>blade-service</artifactId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-service</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-service</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-service</artifactId>
<groupId>org.springblade</groupId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -7,12 +7,12 @@
<parent>
<groupId>org.springblade</groupId>
<artifactId>SpringBlade</artifactId>
<version>4.0.0</version>
<version>4.1.0</version>
</parent>
<artifactId>blade-service</artifactId>
<name>${project.artifactId}</name>
<version>4.0.0</version>
<version>4.1.0</version>
<packaging>pom</packaging>
<description>SpringBlade 微服务集合</description>

View File

@ -73,7 +73,7 @@ knife4j:
swagger:
title: SpringBlade 接口文档系统
description: SpringBlade 接口文档系统
version: 4.0.0
version: 4.1.0
license: Powered By SpringBlade
licenseUrl: https://bladex.cn
terms-of-service-url: https://bladex.cn
@ -84,11 +84,16 @@ swagger:
#blade配置
blade:
auth:
#使用 @org.springblade.test.Sm2KeyGenerator 获取,用于国密sm2验签,需和前端保持一致
public-key: 请配置sm2公钥
#使用 @org.springblade.test.Sm2KeyGenerator 获取,用于国密sm2解密,前端无需配置
private-key: 请配置sm2私钥
token:
#使用 blade-auth服务 @org.springblade.test.SignKeyGenerator 获取
sign-key: 请配置32位签名提高安全性
#使用 blade-auth服务 @org.springblade.test.AesKeyGenerator 获取
aes-key: 请配置Aes的密钥
#使用 @org.springblade.test.SignKeyGenerator 获取
sign-key: 请配置32位签名
#使用 @org.springblade.test.SignKeyGenerator 获取
aes-key: 请配置cryptoKey
xss:
enabled: true
skip-url:

16
pom.xml
View File

@ -5,12 +5,12 @@
<groupId>org.springblade</groupId>
<artifactId>SpringBlade</artifactId>
<version>4.0.0</version>
<version>4.1.0</version>
<packaging>pom</packaging>
<properties>
<blade.tool.version>4.0.0</blade.tool.version>
<blade.project.version>4.0.0</blade.project.version>
<blade.tool.version>4.1.0</blade.tool.version>
<blade.project.version>4.1.0</blade.project.version>
<java.version>17</java.version>
<maven.plugin.version>3.11.0</maven.plugin.version>
@ -21,13 +21,13 @@
<easyexcel.version>3.3.4</easyexcel.version>
<mica.auto.version>3.1.3</mica.auto.version>
<spring.version>6.1.5</spring.version>
<spring.boot.version>3.2.4</spring.boot.version>
<spring.version>6.1.10</spring.version>
<spring.boot.version>3.2.7</spring.boot.version>
<spring.boot.admin.version>3.2.3</spring.boot.admin.version>
<spring.cloud.version>2023.0.1</spring.cloud.version>
<spring.cloud.version>2023.0.2</spring.cloud.version>
<alibaba.cloud.version>2022.0.0.0</alibaba.cloud.version>
<alibaba.nacos.version>2.3.1</alibaba.nacos.version>
<alibaba.cloud.version>2023.0.1.0</alibaba.cloud.version>
<alibaba.nacos.version>2.3.2</alibaba.nacos.version>
<!-- 推荐使用Harbor -->
<docker.registry.url>10.211.55.5</docker.registry.url>

View File

@ -1,2 +1,2 @@
REGISTER=192.168.0.157/blade
TAG=4.0.0
TAG=4.1.0

View File

@ -1,13 +1,14 @@
version: '3'
services:
nacos:
image: nacos/nacos-server:v2.3.1
image: nacos/nacos-server:v2.3.2
hostname: "nacos-standalone"
environment:
- NACOS_AUTH_ENABLE=true
- NACOS_AUTH_CACHE_ENABLE=true
- NACOS_AUTH_IDENTITY_KEY=nacos
- NACOS_AUTH_IDENTITY_VALUE=nacos
- NACOS_AUTH_TOKEN= # 请阅读官方文档了解规则后替换为自己的tokenhttps://nacos.io/zh-cn/docs/v2/guide/user/auth.html
- MODE=standalone
- TZ=Asia/Shanghai
volumes:

View File

@ -152,7 +152,7 @@ spec:
spec:
containers:
- name: blade-admin
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-admin:4.0.0'
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-admin:4.1.0'
args:
- '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -386,7 +386,7 @@ spec:
spec:
containers:
- name: blade-auth
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-auth:4.0.0'
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-auth:4.1.0'
args:
- '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -625,7 +625,7 @@ spec:
spec:
containers:
- name: blade-desk
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-desk:4.0.0'
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-desk:4.1.0'
args:
- '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -864,7 +864,7 @@ spec:
spec:
containers:
- name: blade-develop
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-develop:4.0.0'
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-develop:4.1.0'
args:
- '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -1096,7 +1096,7 @@ spec:
spec:
containers:
- name: blade-gateway
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-gateway:4.0.0'
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-gateway:4.1.0'
args:
- '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -1331,7 +1331,7 @@ spec:
spec:
containers:
- name: blade-log
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-log:4.0.0'
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-log:4.1.0'
args:
- '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -1565,7 +1565,7 @@ spec:
spec:
containers:
- name: blade-report
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-report:4.0.0'
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-report:4.1.0'
args:
- '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -1799,7 +1799,7 @@ spec:
spec:
containers:
- name: blade-resource
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-resource:4.0.0'
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-resource:4.1.0'
args:
- '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -2033,7 +2033,7 @@ spec:
spec:
containers:
- name: blade-system
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-system:4.0.0'
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-system:4.1.0'
args:
- '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -2267,7 +2267,7 @@ spec:
spec:
containers:
- name: blade-user
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-user:4.0.0'
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-user:4.1.0'
args:
- '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -2496,7 +2496,7 @@ spec:
spec:
containers:
- name: saber-web
image: 'swr.cn-east-2.myhuaweicloud.com/blade/saber-web:4.0.0'
image: 'swr.cn-east-2.myhuaweicloud.com/blade/saber-web:4.1.0'
ports:
- name: web
containerPort: 80
@ -2721,7 +2721,7 @@ spec:
spec:
containers:
- name: blade-swagger
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-swagger:4.0.0'
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-swagger:4.1.0'
args:
- '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -3749,7 +3749,7 @@ spec:
spec:
containers:
- name: mysql
image: 'swr.cn-east-2.myhuaweicloud.com/blade/saber-db:v4.0.0'
image: 'swr.cn-east-2.myhuaweicloud.com/blade/saber-db:v4.1.0'
ports:
- name: mysql
containerPort: 3306