⚡ 4.1.0.RELEASE 登录认证升级为国密算法,数据库password字段内容无需变动
This commit is contained in:
parent
7e6b9f0abc
commit
e6dc3ba4fe
15
README.md
15
README.md
|
|
@ -1,5 +1,5 @@
|
||||||
<p align="center">
|
<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/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/license-Apache%202-blue.svg" alt="Build Status">
|
||||||
<img src="https://img.shields.io/badge/Spring%20Cloud-2023-blue.svg" alt="Coverage Status">
|
<img src="https://img.shields.io/badge/Spring%20Cloud-2023-blue.svg" alt="Coverage Status">
|
||||||
|
|
@ -32,12 +32,13 @@
|
||||||
| 技术栈 | 版本 |
|
| 技术栈 | 版本 |
|
||||||
|----------------------|------------|
|
|----------------------|------------|
|
||||||
| Java | 17+ |
|
| Java | 17+ |
|
||||||
| Spring | 6.1.5 |
|
| NodeJS | 18+ |
|
||||||
| Spring Boot | 3.2.4 |
|
| Spring | 6.1.10 |
|
||||||
| Spring Cloud | 2023.0.1 |
|
| Spring Boot | 3.2.7 |
|
||||||
| Spring Cloud Alibaba | 2022.0.0.0 |
|
| Spring Cloud | 2023.0.2 |
|
||||||
| Nacos Alibaba | 2.3.1 |
|
| Spring Cloud Alibaba | 2023.0.1.0 |
|
||||||
| Mybatis Plus | 3.5.6 |
|
| Nacos Alibaba | 2.3.2 |
|
||||||
|
| Mybatis Plus | 3.5.7 |
|
||||||
|
|
||||||
|
|
||||||
## 工程结构
|
## 工程结构
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>SpringBlade</artifactId>
|
<artifactId>SpringBlade</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>blade-auth</artifactId>
|
<artifactId>blade-auth</artifactId>
|
||||||
|
|
|
||||||
|
|
@ -16,9 +16,9 @@
|
||||||
package org.springblade.auth.controller;
|
package org.springblade.auth.controller;
|
||||||
|
|
||||||
import com.wf.captcha.SpecCaptcha;
|
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.Operation;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springblade.auth.granter.ITokenGranter;
|
import org.springblade.auth.granter.ITokenGranter;
|
||||||
import org.springblade.auth.granter.TokenGranterBuilder;
|
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()));
|
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", "操作成功"));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ import org.springblade.auth.enums.BladeUserEnum;
|
||||||
import org.springblade.auth.utils.TokenUtil;
|
import org.springblade.auth.utils.TokenUtil;
|
||||||
import org.springblade.common.cache.CacheNames;
|
import org.springblade.common.cache.CacheNames;
|
||||||
import org.springblade.core.log.exception.ServiceException;
|
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.api.R;
|
||||||
import org.springblade.core.tool.utils.*;
|
import org.springblade.core.tool.utils.*;
|
||||||
import org.springblade.system.user.entity.UserInfo;
|
import org.springblade.system.user.entity.UserInfo;
|
||||||
|
|
@ -42,6 +43,8 @@ public class CaptchaTokenGranter implements ITokenGranter {
|
||||||
private IUserClient userClient;
|
private IUserClient userClient;
|
||||||
private RedisUtil redisUtil;
|
private RedisUtil redisUtil;
|
||||||
|
|
||||||
|
private BladeAuthProperties authProperties;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public UserInfo grant(TokenParameter tokenParameter) {
|
public UserInfo grant(TokenParameter tokenParameter) {
|
||||||
HttpServletRequest request = WebUtil.getRequest();
|
HttpServletRequest request = WebUtil.getRequest();
|
||||||
|
|
@ -62,14 +65,17 @@ public class CaptchaTokenGranter implements ITokenGranter {
|
||||||
if (Func.isNoneBlank(account, password)) {
|
if (Func.isNoneBlank(account, password)) {
|
||||||
// 获取用户类型
|
// 获取用户类型
|
||||||
String userType = tokenParameter.getArgs().getStr("userType");
|
String userType = tokenParameter.getArgs().getStr("userType");
|
||||||
|
// 解密密码
|
||||||
|
String decryptPassword = TokenUtil.decryptPassword(password, authProperties.getPublicKey(), authProperties.getPrivateKey());
|
||||||
|
// 定义返回结果
|
||||||
R<UserInfo> result;
|
R<UserInfo> result;
|
||||||
// 根据不同用户类型调用对应的接口返回数据,用户可自行拓展
|
// 根据不同用户类型调用对应的接口返回数据,用户可自行拓展
|
||||||
if (userType.equals(BladeUserEnum.WEB.getName())) {
|
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())) {
|
} else if (userType.equals(BladeUserEnum.APP.getName())) {
|
||||||
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(password));
|
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(decryptPassword));
|
||||||
} else {
|
} else {
|
||||||
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(password));
|
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(decryptPassword));
|
||||||
}
|
}
|
||||||
userInfo = result.isSuccess() ? result.getData() : null;
|
userInfo = result.isSuccess() ? result.getData() : null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@ package org.springblade.auth.granter;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springblade.auth.enums.BladeUserEnum;
|
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.api.R;
|
||||||
import org.springblade.core.tool.utils.DigestUtil;
|
import org.springblade.core.tool.utils.DigestUtil;
|
||||||
import org.springblade.core.tool.utils.Func;
|
import org.springblade.core.tool.utils.Func;
|
||||||
|
|
@ -37,6 +39,8 @@ public class PasswordTokenGranter implements ITokenGranter {
|
||||||
|
|
||||||
private IUserClient userClient;
|
private IUserClient userClient;
|
||||||
|
|
||||||
|
private BladeAuthProperties authProperties;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public UserInfo grant(TokenParameter tokenParameter) {
|
public UserInfo grant(TokenParameter tokenParameter) {
|
||||||
String tenantId = tokenParameter.getArgs().getStr("tenantId");
|
String tenantId = tokenParameter.getArgs().getStr("tenantId");
|
||||||
|
|
@ -46,14 +50,17 @@ public class PasswordTokenGranter implements ITokenGranter {
|
||||||
if (Func.isNoneBlank(account, password)) {
|
if (Func.isNoneBlank(account, password)) {
|
||||||
// 获取用户类型
|
// 获取用户类型
|
||||||
String userType = tokenParameter.getArgs().getStr("userType");
|
String userType = tokenParameter.getArgs().getStr("userType");
|
||||||
|
// 解密密码
|
||||||
|
String decryptPassword = TokenUtil.decryptPassword(password, authProperties.getPublicKey(), authProperties.getPrivateKey());
|
||||||
|
// 定义返回结果
|
||||||
R<UserInfo> result;
|
R<UserInfo> result;
|
||||||
// 根据不同用户类型调用对应的接口返回数据,用户可自行拓展
|
// 根据不同用户类型调用对应的接口返回数据,用户可自行拓展
|
||||||
if (userType.equals(BladeUserEnum.WEB.getName())) {
|
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())) {
|
} else if (userType.equals(BladeUserEnum.APP.getName())) {
|
||||||
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(password));
|
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(decryptPassword));
|
||||||
} else {
|
} else {
|
||||||
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(password));
|
result = userClient.userInfo(tenantId, account, DigestUtil.encrypt(decryptPassword));
|
||||||
}
|
}
|
||||||
userInfo = result.isSuccess() ? result.getData() : null;
|
userInfo = result.isSuccess() ? result.getData() : null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,9 @@ import org.springblade.core.secure.AuthInfo;
|
||||||
import org.springblade.core.secure.TokenInfo;
|
import org.springblade.core.secure.TokenInfo;
|
||||||
import org.springblade.core.secure.utils.SecureUtil;
|
import org.springblade.core.secure.utils.SecureUtil;
|
||||||
import org.springblade.core.tool.utils.Func;
|
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.User;
|
||||||
import org.springblade.system.user.entity.UserInfo;
|
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 USER_NOT_FOUND = "用户名或密码错误";
|
||||||
public final static String HEADER_KEY = "Authorization";
|
public final static String HEADER_KEY = "Authorization";
|
||||||
public final static String HEADER_PREFIX = "Basic ";
|
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
|
* 创建认证token
|
||||||
|
|
@ -97,4 +101,31 @@ public class TokenUtil {
|
||||||
return SecureUtil.createJWT(param, "audience", "issuser", TokenConstant.REFRESH_TOKEN);
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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("=======================================================");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package org.springblade.test;
|
package org.springblade.test;
|
||||||
|
|
||||||
|
import org.springblade.core.tool.utils.AesUtil;
|
||||||
import org.springblade.core.tool.utils.RandomType;
|
import org.springblade.core.tool.utils.RandomType;
|
||||||
import org.springblade.core.tool.utils.StringUtil;
|
import org.springblade.core.tool.utils.StringUtil;
|
||||||
|
|
||||||
|
|
@ -11,13 +12,12 @@ import org.springblade.core.tool.utils.StringUtil;
|
||||||
public class SignKeyGenerator {
|
public class SignKeyGenerator {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
System.out.println("=======================================================");
|
System.out.println("=========== blade.token.sign-key 配置如下 ==============");
|
||||||
for (int i = 0; i < 10; i++) {
|
System.out.println("#blade配置\n" +
|
||||||
String signKey = StringUtil.random(32, RandomType.ALL);
|
"blade:\n" +
|
||||||
System.out.println("SpringBlade SignKey:[" + signKey + "] ");
|
" token:\n" +
|
||||||
}
|
" sign-key: " + StringUtil.random(32, RandomType.ALL) +"\n" +
|
||||||
System.out.println("=======================================================");
|
" aes-key: " + AesUtil.genAesKey() );
|
||||||
System.out.println("====== blade.token.sign-key 的值从中挑选一个便可 =========");
|
|
||||||
System.out.println("=======================================================");
|
System.out.println("=======================================================");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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("=======================================================");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>SpringBlade</artifactId>
|
<artifactId>SpringBlade</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>SpringBlade</artifactId>
|
<artifactId>SpringBlade</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-ops</artifactId>
|
<artifactId>blade-ops</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<artifactId>blade-ops</artifactId>
|
<artifactId>blade-ops</artifactId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<artifactId>blade-ops</artifactId>
|
<artifactId>blade-ops</artifactId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-ops</artifactId>
|
<artifactId>blade-ops</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-ops</artifactId>
|
<artifactId>blade-ops</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-ops</artifactId>
|
<artifactId>blade-ops</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,13 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>SpringBlade</artifactId>
|
<artifactId>SpringBlade</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<artifactId>blade-ops</artifactId>
|
<artifactId>blade-ops</artifactId>
|
||||||
<name>${project.artifactId}</name>
|
<name>${project.artifactId}</name>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<modules>
|
<modules>
|
||||||
<module>blade-admin</module>
|
<module>blade-admin</module>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-service-api</artifactId>
|
<artifactId>blade-service-api</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-service-api</artifactId>
|
<artifactId>blade-service-api</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-service-api</artifactId>
|
<artifactId>blade-service-api</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-service-api</artifactId>
|
<artifactId>blade-service-api</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-service-api</artifactId>
|
<artifactId>blade-service-api</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-service-api</artifactId>
|
<artifactId>blade-service-api</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,13 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>SpringBlade</artifactId>
|
<artifactId>SpringBlade</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<artifactId>blade-service-api</artifactId>
|
<artifactId>blade-service-api</artifactId>
|
||||||
<name>${project.artifactId}</name>
|
<name>${project.artifactId}</name>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<description>SpringBlade 微服务API集合</description>
|
<description>SpringBlade 微服务API集合</description>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-service</artifactId>
|
<artifactId>blade-service</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<artifactId>blade-service</artifactId>
|
<artifactId>blade-service</artifactId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-service</artifactId>
|
<artifactId>blade-service</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-service</artifactId>
|
<artifactId>blade-service</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>blade-service</artifactId>
|
<artifactId>blade-service</artifactId>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,12 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<artifactId>SpringBlade</artifactId>
|
<artifactId>SpringBlade</artifactId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>blade-service</artifactId>
|
<artifactId>blade-service</artifactId>
|
||||||
<name>${project.artifactId}</name>
|
<name>${project.artifactId}</name>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<description>SpringBlade 微服务集合</description>
|
<description>SpringBlade 微服务集合</description>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ knife4j:
|
||||||
swagger:
|
swagger:
|
||||||
title: SpringBlade 接口文档系统
|
title: SpringBlade 接口文档系统
|
||||||
description: SpringBlade 接口文档系统
|
description: SpringBlade 接口文档系统
|
||||||
version: 4.0.0
|
version: 4.1.0
|
||||||
license: Powered By SpringBlade
|
license: Powered By SpringBlade
|
||||||
licenseUrl: https://bladex.cn
|
licenseUrl: https://bladex.cn
|
||||||
terms-of-service-url: https://bladex.cn
|
terms-of-service-url: https://bladex.cn
|
||||||
|
|
@ -84,11 +84,16 @@ swagger:
|
||||||
|
|
||||||
#blade配置
|
#blade配置
|
||||||
blade:
|
blade:
|
||||||
|
auth:
|
||||||
|
#使用 @org.springblade.test.Sm2KeyGenerator 获取,用于国密sm2验签,需和前端保持一致
|
||||||
|
public-key: 请配置sm2公钥
|
||||||
|
#使用 @org.springblade.test.Sm2KeyGenerator 获取,用于国密sm2解密,前端无需配置
|
||||||
|
private-key: 请配置sm2私钥
|
||||||
token:
|
token:
|
||||||
#使用 blade-auth服务 @org.springblade.test.SignKeyGenerator 获取
|
#使用 @org.springblade.test.SignKeyGenerator 获取
|
||||||
sign-key: 请配置32位签名提高安全性
|
sign-key: 请配置32位签名
|
||||||
#使用 blade-auth服务 @org.springblade.test.AesKeyGenerator 获取
|
#使用 @org.springblade.test.SignKeyGenerator 获取
|
||||||
aes-key: 请配置Aes的密钥
|
aes-key: 请配置cryptoKey
|
||||||
xss:
|
xss:
|
||||||
enabled: true
|
enabled: true
|
||||||
skip-url:
|
skip-url:
|
||||||
|
|
|
||||||
16
pom.xml
16
pom.xml
|
|
@ -5,12 +5,12 @@
|
||||||
|
|
||||||
<groupId>org.springblade</groupId>
|
<groupId>org.springblade</groupId>
|
||||||
<artifactId>SpringBlade</artifactId>
|
<artifactId>SpringBlade</artifactId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<blade.tool.version>4.0.0</blade.tool.version>
|
<blade.tool.version>4.1.0</blade.tool.version>
|
||||||
<blade.project.version>4.0.0</blade.project.version>
|
<blade.project.version>4.1.0</blade.project.version>
|
||||||
|
|
||||||
<java.version>17</java.version>
|
<java.version>17</java.version>
|
||||||
<maven.plugin.version>3.11.0</maven.plugin.version>
|
<maven.plugin.version>3.11.0</maven.plugin.version>
|
||||||
|
|
@ -21,13 +21,13 @@
|
||||||
<easyexcel.version>3.3.4</easyexcel.version>
|
<easyexcel.version>3.3.4</easyexcel.version>
|
||||||
<mica.auto.version>3.1.3</mica.auto.version>
|
<mica.auto.version>3.1.3</mica.auto.version>
|
||||||
|
|
||||||
<spring.version>6.1.5</spring.version>
|
<spring.version>6.1.10</spring.version>
|
||||||
<spring.boot.version>3.2.4</spring.boot.version>
|
<spring.boot.version>3.2.7</spring.boot.version>
|
||||||
<spring.boot.admin.version>3.2.3</spring.boot.admin.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.cloud.version>2023.0.1.0</alibaba.cloud.version>
|
||||||
<alibaba.nacos.version>2.3.1</alibaba.nacos.version>
|
<alibaba.nacos.version>2.3.2</alibaba.nacos.version>
|
||||||
|
|
||||||
<!-- 推荐使用Harbor -->
|
<!-- 推荐使用Harbor -->
|
||||||
<docker.registry.url>10.211.55.5</docker.registry.url>
|
<docker.registry.url>10.211.55.5</docker.registry.url>
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
REGISTER=192.168.0.157/blade
|
REGISTER=192.168.0.157/blade
|
||||||
TAG=4.0.0
|
TAG=4.1.0
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
version: '3'
|
version: '3'
|
||||||
services:
|
services:
|
||||||
nacos:
|
nacos:
|
||||||
image: nacos/nacos-server:v2.3.1
|
image: nacos/nacos-server:v2.3.2
|
||||||
hostname: "nacos-standalone"
|
hostname: "nacos-standalone"
|
||||||
environment:
|
environment:
|
||||||
- NACOS_AUTH_ENABLE=true
|
- NACOS_AUTH_ENABLE=true
|
||||||
- NACOS_AUTH_CACHE_ENABLE=true
|
- NACOS_AUTH_CACHE_ENABLE=true
|
||||||
- NACOS_AUTH_IDENTITY_KEY=nacos
|
- NACOS_AUTH_IDENTITY_KEY=nacos
|
||||||
- NACOS_AUTH_IDENTITY_VALUE=nacos
|
- NACOS_AUTH_IDENTITY_VALUE=nacos
|
||||||
|
- NACOS_AUTH_TOKEN= # 请阅读官方文档了解规则后替换为自己的token:https://nacos.io/zh-cn/docs/v2/guide/user/auth.html
|
||||||
- MODE=standalone
|
- MODE=standalone
|
||||||
- TZ=Asia/Shanghai
|
- TZ=Asia/Shanghai
|
||||||
volumes:
|
volumes:
|
||||||
|
|
|
||||||
|
|
@ -152,7 +152,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: blade-admin
|
- 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:
|
args:
|
||||||
- '--spring.profiles.active=${PROFILE}'
|
- '--spring.profiles.active=${PROFILE}'
|
||||||
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
||||||
|
|
@ -386,7 +386,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: blade-auth
|
- 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:
|
args:
|
||||||
- '--spring.profiles.active=${PROFILE}'
|
- '--spring.profiles.active=${PROFILE}'
|
||||||
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
||||||
|
|
@ -625,7 +625,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: blade-desk
|
- 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:
|
args:
|
||||||
- '--spring.profiles.active=${PROFILE}'
|
- '--spring.profiles.active=${PROFILE}'
|
||||||
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
||||||
|
|
@ -864,7 +864,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: blade-develop
|
- 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:
|
args:
|
||||||
- '--spring.profiles.active=${PROFILE}'
|
- '--spring.profiles.active=${PROFILE}'
|
||||||
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
||||||
|
|
@ -1096,7 +1096,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: blade-gateway
|
- 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:
|
args:
|
||||||
- '--spring.profiles.active=${PROFILE}'
|
- '--spring.profiles.active=${PROFILE}'
|
||||||
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
||||||
|
|
@ -1331,7 +1331,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: blade-log
|
- 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:
|
args:
|
||||||
- '--spring.profiles.active=${PROFILE}'
|
- '--spring.profiles.active=${PROFILE}'
|
||||||
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
||||||
|
|
@ -1565,7 +1565,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: blade-report
|
- 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:
|
args:
|
||||||
- '--spring.profiles.active=${PROFILE}'
|
- '--spring.profiles.active=${PROFILE}'
|
||||||
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
||||||
|
|
@ -1799,7 +1799,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: blade-resource
|
- 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:
|
args:
|
||||||
- '--spring.profiles.active=${PROFILE}'
|
- '--spring.profiles.active=${PROFILE}'
|
||||||
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
||||||
|
|
@ -2033,7 +2033,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: blade-system
|
- 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:
|
args:
|
||||||
- '--spring.profiles.active=${PROFILE}'
|
- '--spring.profiles.active=${PROFILE}'
|
||||||
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
||||||
|
|
@ -2267,7 +2267,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: blade-user
|
- 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:
|
args:
|
||||||
- '--spring.profiles.active=${PROFILE}'
|
- '--spring.profiles.active=${PROFILE}'
|
||||||
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
||||||
|
|
@ -2496,7 +2496,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: saber-web
|
- 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:
|
ports:
|
||||||
- name: web
|
- name: web
|
||||||
containerPort: 80
|
containerPort: 80
|
||||||
|
|
@ -2721,7 +2721,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: blade-swagger
|
- 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:
|
args:
|
||||||
- '--spring.profiles.active=${PROFILE}'
|
- '--spring.profiles.active=${PROFILE}'
|
||||||
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
|
||||||
|
|
@ -3749,7 +3749,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: mysql
|
- 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:
|
ports:
|
||||||
- name: mysql
|
- name: mysql
|
||||||
containerPort: 3306
|
containerPort: 3306
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user