diff --git a/LICENSE b/LICENSE
index 5533663..da37b86 100644
--- a/LICENSE
+++ b/LICENSE
@@ -176,7 +176,7 @@ recommend that a file or class name and description of purpose be included on
the same "printed page" as the copyright notice for easier identification within
third-party archives.
- Copyright 2020 BladeX (https://bladex.vip)
+ Copyright 2023 BladeX (https://bladex.vip)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/README.md b/README.md
index bffd17f..caf37f7 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
-
+
-
+
@@ -69,12 +69,13 @@ SpringBlade
* Sword-基于React:[https://sword.bladex.vip](https://sword.bladex.vip)
## 数据大屏
-* Caster-数据大屏展示系统:[https://caster.bladex.vip](https://caster.bladex.vip)
+* 数据大屏展示系统:[https://data.bladex.vip](https://data.bladex.vip)
## 技术文档
* [SpringBlade开发手册一览](https://gitee.com/smallc/SpringBlade/wikis/SpringBlade开发手册)
* [SpringBlade常见问题集锦](https://sns.bladex.vip/article-14966.html)
* [SpringBlade基于Kuboard部署K8S](https://kuboard.cn/learning/k8s-practice/spring-blade/)
+* [SpringBlade基于Rainbond部署](https://www.rainbond.com/docs/micro-service/example/blade)
## 项目地址
* 核心框架项目地址:[https://gitee.com/smallc/blade-tool](https://gitee.com/smallc/blade-tool)
@@ -82,7 +83,8 @@ SpringBlade
* 后端Github地址:[https://github.com/chillzhuang/SpringBlade](https://github.com/chillzhuang/SpringBlade)
* 后端SpringBoot版:[https://gitee.com/smallc/SpringBlade/tree/boot/](https://gitee.com/smallc/SpringBlade/tree/boot/)
* 前端框架Sword(基于React):[https://gitee.com/smallc/Sword](https://gitee.com/smallc/Sword)
-* 前端框架Saber(基于Vue):[https://gitee.com/smallc/Saber](https://gitee.com/smallc/Saber)
+* 前端框架Saber(基于Vue2):[https://gitee.com/smallc/Saber](https://gitee.com/smallc/Saber)
+* 前端框架Saber3(基于Vue3):[https://gitee.com/smallc/Saber3](https://gitee.com/smallc/Saber/tree/3.x/)
# 开源协议
Apache Licence 2.0 ([英文原文](http://www.apache.org/licenses/LICENSE-2.0.html))
diff --git a/blade-auth/pom.xml b/blade-auth/pom.xml
index ffa1e28..c1d5fbd 100644
--- a/blade-auth/pom.xml
+++ b/blade-auth/pom.xml
@@ -8,7 +8,7 @@
SpringBlade
org.springblade
- 3.5.0
+ 3.6.0
blade-auth
@@ -63,6 +63,7 @@
mysql
mysql-connector-java
+ ${mysql.connector.version}
runtime
diff --git a/blade-auth/src/test/java/org/springblade/test/SignKeyGenerator.java b/blade-auth/src/test/java/org/springblade/test/SignKeyGenerator.java
new file mode 100644
index 0000000..fd1aa61
--- /dev/null
+++ b/blade-auth/src/test/java/org/springblade/test/SignKeyGenerator.java
@@ -0,0 +1,24 @@
+package org.springblade.test;
+
+import org.springblade.core.tool.utils.RandomType;
+import org.springblade.core.tool.utils.StringUtil;
+
+/**
+ * signKey生成器
+ *
+ * @author Chill
+ */
+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("=======================================================");
+ }
+
+}
diff --git a/blade-common/pom.xml b/blade-common/pom.xml
index 6da9907..540aa5b 100644
--- a/blade-common/pom.xml
+++ b/blade-common/pom.xml
@@ -5,7 +5,7 @@
SpringBlade
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-gateway/pom.xml b/blade-gateway/pom.xml
index 27bcfef..09cb063 100644
--- a/blade-gateway/pom.xml
+++ b/blade-gateway/pom.xml
@@ -5,7 +5,7 @@
SpringBlade
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
@@ -68,7 +68,6 @@
com.alibaba.cloud
spring-cloud-starter-alibaba-sentinel
- ${alibaba.cloud.version}
diff --git a/blade-gateway/src/main/java/org/springblade/gateway/config/JwtConfiguration.java b/blade-gateway/src/main/java/org/springblade/gateway/config/JwtConfiguration.java
new file mode 100644
index 0000000..83731e6
--- /dev/null
+++ b/blade-gateway/src/main/java/org/springblade/gateway/config/JwtConfiguration.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com).
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.springblade.gateway.config;
+
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.gateway.props.JwtProperties;
+import org.springblade.gateway.utils.JwtUtil;
+import org.springframework.beans.factory.SmartInitializingSingleton;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * JWT配置信息
+ *
+ * @author Chill
+ */
+@Slf4j
+@Configuration(proxyBeanMethods = false)
+@AllArgsConstructor
+@EnableConfigurationProperties({JwtProperties.class})
+public class JwtConfiguration implements SmartInitializingSingleton {
+
+ private final JwtProperties properties;
+
+ @Override
+ public void afterSingletonsInstantiated() {
+ JwtUtil.setJwtProperties(properties);
+ }
+}
diff --git a/blade-gateway/src/main/java/org/springblade/gateway/config/RouterFunctionConfiguration.java b/blade-gateway/src/main/java/org/springblade/gateway/config/RouterFunctionConfiguration.java
index 784e490..e19978a 100644
--- a/blade-gateway/src/main/java/org/springblade/gateway/config/RouterFunctionConfiguration.java
+++ b/blade-gateway/src/main/java/org/springblade/gateway/config/RouterFunctionConfiguration.java
@@ -47,7 +47,7 @@ public class RouterFunctionConfiguration {
/**
* 这里为支持的请求头,如果有自定义的header字段请自己添加
*/
- private static final String ALLOWED_HEADERS = "X-Requested-With, Tenant-Id, Blade-Auth, Content-Type, Authorization, credential, X-XSRF-TOKEN, token, username, client, knfie4j-gateway-request, request-origion";
+ private static final String ALLOWED_HEADERS = "X-Requested-With, Tenant-Id, Blade-Auth, Content-Type, Authorization, credential, X-XSRF-TOKEN, token, username, client, knfie4j-gateway-request, knife4j-gateway-code, request-origion";
private static final String ALLOWED_METHODS = "GET,POST,PUT,DELETE,OPTIONS,HEAD";
private static final String ALLOWED_ORIGIN = "*";
private static final String ALLOWED_EXPOSE = "*";
diff --git a/blade-gateway/src/main/java/org/springblade/gateway/props/JwtProperties.java b/blade-gateway/src/main/java/org/springblade/gateway/props/JwtProperties.java
new file mode 100644
index 0000000..67b41af
--- /dev/null
+++ b/blade-gateway/src/main/java/org/springblade/gateway/props/JwtProperties.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.gateway.props;
+
+import io.jsonwebtoken.JwtException;
+import lombok.Data;
+import org.springblade.core.launch.constant.TokenConstant;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * JWT配置
+ *
+ * @author Chill
+ */
+@Data
+@ConfigurationProperties("blade.token")
+public class JwtProperties {
+
+ /**
+ * token是否有状态
+ */
+ private Boolean state = Boolean.FALSE;
+
+ /**
+ * 是否只可同时在线一人
+ */
+ private Boolean single = Boolean.FALSE;
+
+ /**
+ * token签名
+ */
+ private String signKey = "";
+
+ /**
+ * 获取签名规则
+ */
+ public String getSignKey() {
+ if (this.signKey.length() < TokenConstant.SIGN_KEY_LENGTH) {
+ throw new JwtException("请配置 blade.token.sign-key 的值, 长度32位以上");
+ }
+ return this.signKey;
+ }
+
+}
diff --git a/blade-gateway/src/main/java/org/springblade/gateway/utils/JwtUtil.java b/blade-gateway/src/main/java/org/springblade/gateway/utils/JwtUtil.java
index 2d05163..84a1232 100644
--- a/blade-gateway/src/main/java/org/springblade/gateway/utils/JwtUtil.java
+++ b/blade-gateway/src/main/java/org/springblade/gateway/utils/JwtUtil.java
@@ -18,6 +18,7 @@ package org.springblade.gateway.utils;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import org.springblade.core.launch.constant.TokenConstant;
+import org.springblade.gateway.props.JwtProperties;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
@@ -29,11 +30,30 @@ import java.util.Base64;
*/
public class JwtUtil {
- public static String SIGN_KEY = TokenConstant.SIGN_KEY;
public static String BEARER = TokenConstant.BEARER;
public static Integer AUTH_LENGTH = 7;
- public static String BASE64_SECURITY = Base64.getEncoder().encodeToString(SIGN_KEY.getBytes(StandardCharsets.UTF_8));
+ /**
+ * jwt配置
+ */
+ private static JwtProperties jwtProperties;
+
+ public static JwtProperties getJwtProperties() {
+ return jwtProperties;
+ }
+
+ public static void setJwtProperties(JwtProperties properties) {
+ if (JwtUtil.jwtProperties == null) {
+ JwtUtil.jwtProperties = properties;
+ }
+ }
+
+ /**
+ * 签名加密
+ */
+ public static String getBase64Security() {
+ return Base64.getEncoder().encodeToString(getJwtProperties().getSignKey().getBytes(StandardCharsets.UTF_8));
+ }
/**
* 获取token串
@@ -61,7 +81,7 @@ public class JwtUtil {
public static Claims parseJWT(String jsonWebToken) {
try {
return Jwts.parserBuilder()
- .setSigningKey(Base64.getDecoder().decode(JwtUtil.BASE64_SECURITY)).build()
+ .setSigningKey(Base64.getDecoder().decode(getBase64Security())).build()
.parseClaimsJws(jsonWebToken).getBody();
} catch (Exception ex) {
return null;
diff --git a/blade-ops/blade-admin/pom.xml b/blade-ops/blade-admin/pom.xml
index b162b96..1de62c5 100644
--- a/blade-ops/blade-admin/pom.xml
+++ b/blade-ops/blade-admin/pom.xml
@@ -5,7 +5,7 @@
blade-ops
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-ops/blade-develop/pom.xml b/blade-ops/blade-develop/pom.xml
index 945ef17..0226d7f 100644
--- a/blade-ops/blade-develop/pom.xml
+++ b/blade-ops/blade-develop/pom.xml
@@ -6,7 +6,7 @@
org.springblade
blade-ops
- 3.5.0
+ 3.6.0
4.0.0
@@ -33,23 +33,6 @@
blade-core-develop
${blade.tool.version}
-
-
- io.springfox
- springfox-swagger2
- ${swagger.version}
-
-
- io.swagger
- swagger-models
-
-
-
-
- io.swagger
- swagger-models
- ${swagger.models.version}
-
org.springblade
blade-dict-api
diff --git a/blade-ops/blade-report/pom.xml b/blade-ops/blade-report/pom.xml
index 5b7e4bd..001bdba 100644
--- a/blade-ops/blade-report/pom.xml
+++ b/blade-ops/blade-report/pom.xml
@@ -5,7 +5,7 @@
org.springblade
blade-ops
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-ops/blade-resource/pom.xml b/blade-ops/blade-resource/pom.xml
index df2e08a..29ce60d 100644
--- a/blade-ops/blade-resource/pom.xml
+++ b/blade-ops/blade-resource/pom.xml
@@ -5,7 +5,7 @@
blade-ops
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-ops/blade-seata-order/pom.xml b/blade-ops/blade-seata-order/pom.xml
index 7a68a91..dcabeb9 100644
--- a/blade-ops/blade-seata-order/pom.xml
+++ b/blade-ops/blade-seata-order/pom.xml
@@ -5,7 +5,7 @@
blade-ops
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-ops/blade-seata-storage/pom.xml b/blade-ops/blade-seata-storage/pom.xml
index 0d6a407..765d870 100644
--- a/blade-ops/blade-seata-storage/pom.xml
+++ b/blade-ops/blade-seata-storage/pom.xml
@@ -5,7 +5,7 @@
blade-ops
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-ops/blade-swagger/pom.xml b/blade-ops/blade-swagger/pom.xml
index 9713ea5..1a64694 100644
--- a/blade-ops/blade-swagger/pom.xml
+++ b/blade-ops/blade-swagger/pom.xml
@@ -5,7 +5,7 @@
blade-ops
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
@@ -23,8 +23,14 @@
com.github.xiaoymin
knife4j-aggregation-spring-boot-starter
- ${knife4j.version}
+
+
diff --git a/blade-ops/pom.xml b/blade-ops/pom.xml
index 393176e..639b568 100644
--- a/blade-ops/pom.xml
+++ b/blade-ops/pom.xml
@@ -5,13 +5,13 @@
SpringBlade
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
blade-ops
${project.artifactId}
- 3.5.0
+ 3.6.0
pom
blade-admin
diff --git a/blade-service-api/blade-demo-api/pom.xml b/blade-service-api/blade-demo-api/pom.xml
index 1ec2311..cfa2550 100644
--- a/blade-service-api/blade-demo-api/pom.xml
+++ b/blade-service-api/blade-demo-api/pom.xml
@@ -5,7 +5,7 @@
blade-service-api
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-service-api/blade-desk-api/pom.xml b/blade-service-api/blade-desk-api/pom.xml
index 9a1fcb7..1d47002 100644
--- a/blade-service-api/blade-desk-api/pom.xml
+++ b/blade-service-api/blade-desk-api/pom.xml
@@ -5,7 +5,7 @@
blade-service-api
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-service-api/blade-dict-api/pom.xml b/blade-service-api/blade-dict-api/pom.xml
index 64a28ad..1a78802 100644
--- a/blade-service-api/blade-dict-api/pom.xml
+++ b/blade-service-api/blade-dict-api/pom.xml
@@ -5,7 +5,7 @@
blade-service-api
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-service-api/blade-scope-api/pom.xml b/blade-service-api/blade-scope-api/pom.xml
index 9602c5a..2f25e79 100644
--- a/blade-service-api/blade-scope-api/pom.xml
+++ b/blade-service-api/blade-scope-api/pom.xml
@@ -5,7 +5,7 @@
blade-service-api
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-service-api/blade-system-api/pom.xml b/blade-service-api/blade-system-api/pom.xml
index a8554a7..f7ab45a 100644
--- a/blade-service-api/blade-system-api/pom.xml
+++ b/blade-service-api/blade-system-api/pom.xml
@@ -5,7 +5,7 @@
blade-service-api
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-service-api/blade-user-api/pom.xml b/blade-service-api/blade-user-api/pom.xml
index 1877ca9..24db917 100644
--- a/blade-service-api/blade-user-api/pom.xml
+++ b/blade-service-api/blade-user-api/pom.xml
@@ -5,7 +5,7 @@
blade-service-api
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-service-api/pom.xml b/blade-service-api/pom.xml
index 7cbd2ea..81e7a23 100644
--- a/blade-service-api/pom.xml
+++ b/blade-service-api/pom.xml
@@ -5,13 +5,13 @@
SpringBlade
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
blade-service-api
${project.artifactId}
- 3.5.0
+ 3.6.0
pom
SpringBlade 微服务API集合
@@ -34,22 +34,6 @@
org.springframework.cloud
spring-cloud-starter-openfeign
-
- io.springfox
- springfox-swagger2
- ${swagger.version}
-
-
- io.swagger
- swagger-models
-
-
-
-
- io.swagger
- swagger-models
- ${swagger.models.version}
-
net.dreamlu
mica-auto
diff --git a/blade-service/blade-demo/pom.xml b/blade-service/blade-demo/pom.xml
index 91699a9..8beefe0 100644
--- a/blade-service/blade-demo/pom.xml
+++ b/blade-service/blade-demo/pom.xml
@@ -5,7 +5,7 @@
blade-service
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-service/blade-desk/pom.xml b/blade-service/blade-desk/pom.xml
index bbf3b7c..738f29c 100644
--- a/blade-service/blade-desk/pom.xml
+++ b/blade-service/blade-desk/pom.xml
@@ -6,7 +6,7 @@
org.springblade
blade-service
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-service/blade-log/pom.xml b/blade-service/blade-log/pom.xml
index a218b96..9c49ea2 100644
--- a/blade-service/blade-log/pom.xml
+++ b/blade-service/blade-log/pom.xml
@@ -5,7 +5,7 @@
blade-service
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-service/blade-system/pom.xml b/blade-service/blade-system/pom.xml
index 3f8aec0..4f6414e 100644
--- a/blade-service/blade-system/pom.xml
+++ b/blade-service/blade-system/pom.xml
@@ -5,7 +5,7 @@
blade-service
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-service/blade-user/pom.xml b/blade-service/blade-user/pom.xml
index 7d62d78..3b0f17e 100644
--- a/blade-service/blade-user/pom.xml
+++ b/blade-service/blade-user/pom.xml
@@ -5,7 +5,7 @@
blade-service
org.springblade
- 3.5.0
+ 3.6.0
4.0.0
diff --git a/blade-service/pom.xml b/blade-service/pom.xml
index 5a51266..446a75d 100644
--- a/blade-service/pom.xml
+++ b/blade-service/pom.xml
@@ -7,12 +7,12 @@
org.springblade
SpringBlade
- 3.5.0
+ 3.6.0
blade-service
${project.artifactId}
- 3.5.0
+ 3.6.0
pom
SpringBlade 微服务集合
diff --git a/doc/nacos/blade.yaml b/doc/nacos/blade.yaml
index 9cee971..294430e 100644
--- a/doc/nacos/blade.yaml
+++ b/doc/nacos/blade.yaml
@@ -60,16 +60,16 @@ knife4j:
enableRequestCache: true
enableFilterMultipartApis: false
enableFilterMultipartApiMethodType: POST
- language: zh-CN
+ language: zh_cn
enableFooter: false
enableFooterCustom: true
- footerCustomContent: Copyright © 2022 SpringBlade All Rights Reserved
+ footerCustomContent: Copyright © 2023 SpringBlade All Rights Reserved
#swagger配置信息
swagger:
title: SpringBlade 接口文档系统
description: SpringBlade 接口文档系统
- version: 3.5.0
+ version: 3.6.0
license: Powered By SpringBlade
licenseUrl: https://bladex.vip
terms-of-service-url: https://bladex.vip
@@ -81,6 +81,7 @@ swagger:
#blade配置
blade:
token:
+ #使用 blade-auth服务 @org.springblade.test.SignKeyGenerator 获取
sign-key: 请配置32位签名提高安全性
xss:
enabled: true
diff --git a/doc/sql/blade/blade-update-3.1.0~3.2.0.sql b/doc/sql/blade/blade-update-3.1.0~3.2.0.sql
deleted file mode 100644
index a1e770e..0000000
--- a/doc/sql/blade/blade-update-3.1.0~3.2.0.sql
+++ /dev/null
@@ -1,115 +0,0 @@
-
--- ----------------------------
--- 创建数据权限表
--- ----------------------------
-CREATE TABLE `blade_scope_data` (
- `id` bigint(20) NOT NULL COMMENT '主键',
- `menu_id` bigint(20) NULL DEFAULT NULL COMMENT '菜单主键',
- `resource_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '资源编号',
- `scope_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据权限名称',
- `scope_field` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据权限字段',
- `scope_class` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据权限类名',
- `scope_column` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据权限字段',
- `scope_type` int(2) NULL DEFAULT NULL COMMENT '数据权限类型',
- `scope_value` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据权限值域',
- `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据权限备注',
- `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
- `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '创建部门',
- `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
- `update_user` bigint(20) NULL DEFAULT NULL COMMENT '修改人',
- `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
- `status` int(2) NULL DEFAULT NULL COMMENT '状态',
- `is_deleted` int(2) NULL DEFAULT NULL COMMENT '是否已删除',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据权限表';
-
-
--- ----------------------------
--- 创建数据权限角色表
--- ----------------------------
-DROP TABLE IF EXISTS `blade_role_scope`;
-CREATE TABLE `blade_role_scope` (
- `id` bigint(20) NOT NULL COMMENT '主键',
- `scope_id` bigint(20) NULL DEFAULT NULL COMMENT '数据权限id',
- `role_id` bigint(20) NULL DEFAULT NULL COMMENT '角色id',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
-
-SET FOREIGN_KEY_CHECKS = 1;
-
--- ----------------------------
--- 部门表增加字段
--- ----------------------------
-ALTER TABLE `blade_dept`
- ADD COLUMN `ancestors` varchar(2000) NULL COMMENT '祖级列表' AFTER `parent_id`;
-
-UPDATE `blade_dept` SET `tenant_id` = '000000', `parent_id` = 0, `ancestors` = '0', `dept_name` = '刀锋科技', `full_name` = '江苏刀锋科技有限公司', `sort` = 1, `remark` = NULL, `is_deleted` = 0 WHERE `id` = 1123598813738675201;
-UPDATE `blade_dept` SET `tenant_id` = '000000', `parent_id` = 1123598813738675201, `ancestors` = '0,1123598813738675201', `dept_name` = '常州刀锋', `full_name` = '常州刀锋科技有限公司', `sort` = 1, `remark` = NULL, `is_deleted` = 0 WHERE `id` = 1123598813738675202;
-UPDATE `blade_dept` SET `tenant_id` = '000000', `parent_id` = 1123598813738675201, `ancestors` = '0,1123598813738675201', `dept_name` = '苏州刀锋', `full_name` = '苏州刀锋科技有限公司', `sort` = 1, `remark` = NULL, `is_deleted` = 0 WHERE `id` = 1123598813738675203;
-
--- ----------------------------
--- 增加字典项
--- ----------------------------
-INSERT INTO `blade_dict`(`id`, `parent_id`, `code`, `dict_key`, `dict_value`, `sort`, `remark`, `is_deleted`) VALUES (1123598814738675231, 0, 'data_scope_type', -1, '数据权限', 8, NULL, 0);
-INSERT INTO `blade_dict`(`id`, `parent_id`, `code`, `dict_key`, `dict_value`, `sort`, `remark`, `is_deleted`) VALUES (1123598814738675232, 1123598814738675231, 'data_scope_type', 1, '全部可见', 1, NULL, 0);
-INSERT INTO `blade_dict`(`id`, `parent_id`, `code`, `dict_key`, `dict_value`, `sort`, `remark`, `is_deleted`) VALUES (1123598814738675233, 1123598814738675231, 'data_scope_type', 2, '本人可见', 2, NULL, 0);
-INSERT INTO `blade_dict`(`id`, `parent_id`, `code`, `dict_key`, `dict_value`, `sort`, `remark`, `is_deleted`) VALUES (1123598814738675234, 1123598814738675231, 'data_scope_type', 3, '所在机构可见', 3, NULL, 0);
-INSERT INTO `blade_dict`(`id`, `parent_id`, `code`, `dict_key`, `dict_value`, `sort`, `remark`, `is_deleted`) VALUES (1123598814738675235, 1123598814738675231, 'data_scope_type', 4, '所在机构及子级可见', 4, NULL, 0);
-INSERT INTO `blade_dict`(`id`, `parent_id`, `code`, `dict_key`, `dict_value`, `sort`, `remark`, `is_deleted`) VALUES (1123598814738675236, 1123598814738675231, 'data_scope_type', 5, '自定义', 5, NULL, 0);
-
-
--- ----------------------------
--- 增加权限管理模块
--- ----------------------------
-INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1123598815738675307, 0, 'authority', '权限管理', 'menu', '/authority', 'iconfont icon-bofangqi-suoping', 98, 1, 0, 1, '', 0);
-
--- ----------------------------
--- 角色管理迁移至权限管理
--- ----------------------------
-DELETE FROM `blade_menu` WHERE ID = 1123598815738675208;
-INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1123598815738675308, 1123598815738675307, 'role', '角色管理', 'menu', '/authority/role', 'iconfont iconicon_boss', 1, 1, 0, 1, NULL, 0);
-UPDATE `blade_menu` SET `parent_id` = 1123598815738675308, `code` = 'role_add', `name` = '新增', `alias` = 'add', `path` = '/authority/role/add', `source` = 'plus', `sort` = 1, `category` = 2, `action` = 1, `is_open` = 1, `remark` = NULL, `is_deleted` = 0 WHERE `id` = 1123598815738675241;
-UPDATE `blade_menu` SET `parent_id` = 1123598815738675308, `code` = 'role_edit', `name` = '修改', `alias` = 'edit', `path` = '/authority/role/edit', `source` = 'form', `sort` = 2, `category` = 2, `action` = 2, `is_open` = 1, `remark` = NULL, `is_deleted` = 0 WHERE `id` = 1123598815738675242;
-UPDATE `blade_menu` SET `parent_id` = 1123598815738675308, `code` = 'role_delete', `name` = '删除', `alias` = 'delete', `path` = '/api/blade-system/role/remove', `source` = 'delete', `sort` = 3, `category` = 2, `action` = 3, `is_open` = 1, `remark` = NULL, `is_deleted` = 0 WHERE `id` = 1123598815738675243;
-UPDATE `blade_menu` SET `parent_id` = 1123598815738675308, `code` = 'role_view', `name` = '查看', `alias` = 'view', `path` = '/authority/role/view', `source` = 'file-text', `sort` = 4, `category` = 2, `action` = 2, `is_open` = 1, `remark` = NULL, `is_deleted` = 0 WHERE `id` = 1123598815738675244;
-
-
--- ----------------------------
--- 增加数据权限及接口权限独立菜单
--- ----------------------------
-INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1123598815738675309, 1123598815738675307, 'data_scope', '数据权限', 'menu', '/authority/datascope', 'iconfont icon-shujuzhanshi2', 2, 1, 0, 1, '', 0);
-INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1123598815738675310, 1123598815738675309, 'data_scope_setting', '权限配置', 'setting', NULL, 'setting', 1, 2, 2, 1, NULL, 0);
-
-
--- ----------------------------
--- 增加数据权限及菜单权限
--- ----------------------------
-INSERT INTO `blade_role_menu`(`id`, `menu_id`, `role_id`) VALUES (1455363615489028098, 1123598815738675307, 1123598816738675201);
-INSERT INTO `blade_role_menu`(`id`, `menu_id`, `role_id`) VALUES (1455363615505805313, 1123598815738675309, 1123598816738675201);
-INSERT INTO `blade_role_menu`(`id`, `menu_id`, `role_id`) VALUES (1455363615518388225, 1123598815738675310, 1123598816738675201);
-
-
--- ----------------------------
--- 增加create_dept字段并赋默认值
--- ----------------------------
-ALTER TABLE `blade_client`
- ADD COLUMN `create_dept` bigint(20) NULL COMMENT '创建部门' AFTER `create_user`;
-ALTER TABLE `blade_notice`
- ADD COLUMN `create_dept` bigint(20) NULL COMMENT '创建部门' AFTER `create_user`;
-ALTER TABLE `blade_param`
- ADD COLUMN `create_dept` bigint(20) NULL COMMENT '创建部门' AFTER `create_user`;
-ALTER TABLE `blade_tenant`
- ADD COLUMN `create_dept` bigint(20) NULL COMMENT '创建部门' AFTER `create_user`;
-ALTER TABLE `blade_user`
- ADD COLUMN `create_dept` bigint(20) NULL COMMENT '创建部门' AFTER `create_user`;
-
-UPDATE `blade_client` SET create_dept = 1123598813738675201 WHERE create_dept IS NULL;
-UPDATE `blade_notice` SET create_dept = 1123598813738675201 WHERE create_dept IS NULL;
-UPDATE `blade_param` SET create_dept = 1123598813738675201 WHERE create_dept IS NULL;
-UPDATE `blade_tenant` SET create_dept = 1123598813738675201 WHERE create_dept IS NULL;
-UPDATE `blade_user` SET create_dept = 1123598813738675201 WHERE create_dept IS NULL;
-
-
-
-
-
diff --git a/pom.xml b/pom.xml
index 18bc85c..812732e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,30 +5,29 @@
org.springblade
SpringBlade
- 3.5.0
+ 3.6.0
pom
- 3.5.0
- 3.5.0
+ 3.6.0
+ 3.6.0
1.8
3.8.1
- 2.10.5
- 1.6.2
- 2.0.9
+
+ 4.1.0
1.6.0
1.6.2
- 2.2.6
- 1.2.5
- 2021.0.1.0
- 2.1.0
- 2.7.1
- 2.0.0.RELEASE
+ 2.2.11
+ 2.3.2
+ 8.0.32
- 2.7.1
- 2021.0.3
- Cairo-SR8
+ 5.3.27
+ 2.7.10
+ 2.7.10
+ 2021.0.6
+ 2021.0.5.0
+ 2.1.2
10.211.55.5
@@ -48,14 +47,11 @@
- org.springframework.plugin
- spring-plugin-core
- ${spring.plugin.version}
-
-
- org.springframework.plugin
- spring-plugin-metadata
- ${spring.plugin.version}
+ org.springframework
+ spring-framework-bom
+ ${spring.version}
+ pom
+ import
org.springframework.boot
@@ -72,9 +68,16 @@
import
- io.spring.platform
- platform-bom
- ${spring.platform.version}
+ com.alibaba.cloud
+ spring-cloud-alibaba-dependencies
+ ${alibaba.cloud.version}
+ pom
+ import
+
+
+ com.github.xiaoymin
+ knife4j-dependencies
+ ${knife4j.version}
pom
import
diff --git a/script/docker/.env b/script/docker/.env
index 4dec967..f95a4c8 100644
--- a/script/docker/.env
+++ b/script/docker/.env
@@ -1,2 +1,2 @@
REGISTER=192.168.0.157/blade
-TAG=3.5.0
+TAG=3.6.0
diff --git a/script/docker/deploy.sh b/script/docker/deploy.sh
index d8604b6..05ab558 100644
--- a/script/docker/deploy.sh
+++ b/script/docker/deploy.sh
@@ -33,9 +33,9 @@ mount(){
cp nginx/web/nginx.conf /docker/nginx/web/nginx.conf
cp -r nginx/web/html /docker/nginx/web/html
fi
- if test ! -f "/docker/nacos/init.d/custom.properties" ;then
- mkdir -p /docker/nacos/init.d
- cp nacos/init.d/custom.properties /docker/nacos/init.d/custom.properties
+ if test ! -f "/docker/nacos/conf/application.properties" ;then
+ mkdir -p /docker/nacos/conf
+ cp nacos/conf/application.properties /docker/nacos/conf/application.properties
fi
}
diff --git a/script/docker/docker-compose.yml b/script/docker/docker-compose.yml
index e757b61..79931ca 100644
--- a/script/docker/docker-compose.yml
+++ b/script/docker/docker-compose.yml
@@ -1,13 +1,14 @@
version: '3'
services:
nacos:
- image: nacos/nacos-server:2.0.2
+ image: nacos/nacos-server:v2.1.2
hostname: "nacos-standalone"
environment:
- MODE=standalone
+ - TZ=Asia/Shanghai
volumes:
- /docker/nacos/standalone-logs/:/home/nacos/logs
- - /docker/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties
+ - /docker/nacos/conf/application.properties:/home/nacos/conf/application.properties
ports:
- 8848:8848
- 9848:9848
diff --git a/script/docker/nacos/conf/application.properties b/script/docker/nacos/conf/application.properties
new file mode 100644
index 0000000..ac357a5
--- /dev/null
+++ b/script/docker/nacos/conf/application.properties
@@ -0,0 +1,46 @@
+# spring
+server.servlet.contextPath=${SERVER_SERVLET_CONTEXTPATH:/nacos}
+server.contextPath=/nacos
+server.port=${NACOS_APPLICATION_PORT:8848}
+server.tomcat.accesslog.max-days=30
+server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
+spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:""}
+nacos.cmdb.dumpTaskInterval=3600
+nacos.cmdb.eventTaskInterval=10
+nacos.cmdb.labelTaskInterval=300
+nacos.cmdb.loadDataAtStart=false
+db.num=${MYSQL_DATABASE_NUM:1}
+db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
+db.url.1=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
+db.user=${MYSQL_SERVICE_USER}
+db.password=${MYSQL_SERVICE_PASSWORD}
+### The auth system to use, currently only 'nacos' and 'ldap' is supported:
+nacos.core.auth.system.type=${NACOS_AUTH_SYSTEM_TYPE:nacos}
+### worked when nacos.core.auth.system.type=nacos
+### The token expiration in seconds:
+nacos.core.auth.plugin.nacos.token.expire.seconds=${NACOS_AUTH_TOKEN_EXPIRE_SECONDS:18000}
+### The default token:
+nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey012345678901234567890123456789012345678901234567890123456789}
+### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
+nacos.core.auth.caching.enabled=${NACOS_AUTH_CACHE_ENABLE:false}
+nacos.core.auth.enable.userAgentAuthWhite=${NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE:false}
+nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:serverIdentity}
+nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_VALUE:security}
+server.tomcat.accesslog.enabled=${TOMCAT_ACCESSLOG_ENABLED:false}
+# default current work dir
+server.tomcat.basedir=file:.
+## spring security config
+### turn off security
+nacos.security.ignore.urls=${NACOS_SECURITY_IGNORE_URLS:/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**}
+# metrics for elastic search
+management.metrics.export.elastic.enabled=false
+management.metrics.export.influx.enabled=false
+nacos.naming.distro.taskDispatchThreadCount=10
+nacos.naming.distro.taskDispatchPeriod=200
+nacos.naming.distro.batchSyncKeyCount=1000
+nacos.naming.distro.initDataRatio=0.9
+nacos.naming.distro.syncRetryDelay=5000
+nacos.naming.data.warmup=true
+
+
+
diff --git a/script/docker/nacos/init.d/custom.properties b/script/docker/nacos/init.d/custom.properties
deleted file mode 100644
index f6fd2a0..0000000
--- a/script/docker/nacos/init.d/custom.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-#spring.security.enabled=false
-#management.security=false
-#security.basic.enabled=false
-#nacos.security.ignore.urls=/**
-#management.metrics.export.elastic.host=http://localhost:9200
-# metrics for prometheus
-management.endpoints.web.exposure.include=*
-
-# metrics for elastic search
-#management.metrics.export.elastic.enabled=false
-#management.metrics.export.elastic.host=http://localhost:9200
-
-# metrics for influx
-#management.metrics.export.influx.enabled=false
-#management.metrics.export.influx.db=springboot
-#management.metrics.export.influx.uri=http://localhost:8086
-#management.metrics.export.influx.auto-create-db=true
-#management.metrics.export.influx.consistency=one
-#management.metrics.export.influx.compressed=true
diff --git a/script/kuboard/kuboard_spring-blade.yaml b/script/kuboard/kuboard_spring-blade.yaml
index 629bfc0..30f1776 100644
--- a/script/kuboard/kuboard_spring-blade.yaml
+++ b/script/kuboard/kuboard_spring-blade.yaml
@@ -152,7 +152,7 @@ spec:
spec:
containers:
- name: blade-admin
- image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-admin:3.5.0'
+ image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-admin:3.6.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:3.5.0'
+ image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-auth:3.6.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:3.5.0'
+ image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-desk:3.6.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:3.5.0'
+ image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-develop:3.6.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:3.5.0'
+ image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-gateway:3.6.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:3.5.0'
+ image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-log:3.6.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:3.5.0'
+ image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-report:3.6.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:3.5.0'
+ image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-resource:3.6.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:3.5.0'
+ image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-system:3.6.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:3.5.0'
+ image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-user:3.6.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:3.5.0'
+ image: 'swr.cn-east-2.myhuaweicloud.com/blade/saber-web:3.6.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:3.5.0'
+ image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-swagger:3.6.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:v3.5.0'
+ image: 'swr.cn-east-2.myhuaweicloud.com/blade/saber-db:v3.6.0'
ports:
- name: mysql
containerPort: 3306