Commit 2d78b02086234090d1485373764b10a3152f537e

Authored by YunaiV
1 parent ea95115f

移除云片短信渠道,解决云片的安全风险

README.md
@@ -35,7 +35,7 @@ @@ -35,7 +35,7 @@
35 * 工作流使用 Flowable,支持动态表单、在线设计流程、会签 / 或签、多种任务分配方式 35 * 工作流使用 Flowable,支持动态表单、在线设计流程、会签 / 或签、多种任务分配方式
36 * 高效率开发,使用代码生成器可以一键生成前后端代码 + 单元测试 + Swagger 接口文档 + Validator 参数校验 36 * 高效率开发,使用代码生成器可以一键生成前后端代码 + 单元测试 + Swagger 接口文档 + Validator 参数校验
37 * 集成微信小程序、微信公众号、企业微信、钉钉等三方登陆,集成支付宝、微信等支付与退款 37 * 集成微信小程序、微信公众号、企业微信、钉钉等三方登陆,集成支付宝、微信等支付与退款
38 -* 集成阿里云、腾讯云、云片等短信渠道,集成 MinIO、阿里云、腾讯云、七牛云等云存储服务 38 +* 集成阿里云、腾讯云等短信渠道,集成 MinIO、阿里云、腾讯云、七牛云等云存储服务
39 * 集成报表设计器,支持数据报表、图形报表、打印设计等 39 * 集成报表设计器,支持数据报表、图形报表、打印设计等
40 40
41 | 项目名 | 说明 | 传说门 | 41 | 项目名 | 说明 | 传说门 |
@@ -90,12 +90,12 @@ @@ -90,12 +90,12 @@
90 | 🚀 | 租户管理 | 配置系统租户,支持 SaaS 场景下的多租户功能 | 90 | 🚀 | 租户管理 | 配置系统租户,支持 SaaS 场景下的多租户功能 |
91 | 🚀 | 租户套餐 | 配置租户套餐,自定每个租户的菜单、操作、按钮的权限 | 91 | 🚀 | 租户套餐 | 配置租户套餐,自定每个租户的菜单、操作、按钮的权限 |
92 | | 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 | 92 | | 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 |
93 -| 🚀 | 短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、云片等主流短信平台 | 93 +| 🚀 | 短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、腾讯云等主流短信平台 |
94 | 🚀 | 操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 | 94 | 🚀 | 操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 |
95 | ⭐️ | 登录日志 | 系统登录日志记录查询,包含登录异常 | 95 | ⭐️ | 登录日志 | 系统登录日志记录查询,包含登录异常 |
96 | 🚀 | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务 | 96 | 🚀 | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务 |
97 | | 通知公告 | 系统通知公告信息发布维护 | 97 | | 通知公告 | 系统通知公告信息发布维护 |
98 -| 🚀 | 敏感词 | 配置系统敏感词,支持标签分组 | 98 +| 🚀 | 敏感词 | 配置系统敏感词,支持标签分组 |
99 | 🚀 | 应用管理 | 管理 SSO 单点登录的应用,支持多种 OAuth2 授权方式 | 99 | 🚀 | 应用管理 | 管理 SSO 单点登录的应用,支持多种 OAuth2 授权方式 |
100 100
101 ### 工作流程 101 ### 工作流程
yudao-dependencies/pom.xml
@@ -522,11 +522,6 @@ @@ -522,11 +522,6 @@
522 522
523 <!-- SMS SDK begin --> 523 <!-- SMS SDK begin -->
524 <dependency> 524 <dependency>
525 - <groupId>com.yunpian.sdk</groupId>  
526 - <artifactId>yunpian-java-sdk</artifactId>  
527 - <version>${yunpian-java-sdk.version}</version>  
528 - </dependency>  
529 - <dependency>  
530 <groupId>com.aliyun</groupId> 525 <groupId>com.aliyun</groupId>
531 <artifactId>aliyun-java-sdk-core</artifactId> 526 <artifactId>aliyun-java-sdk-core</artifactId>
532 <version>${aliyun-java-sdk-core.version}</version> 527 <version>${aliyun-java-sdk-core.version}</version>
yudao-framework/yudao-spring-boot-starter-biz-sms/pom.xml
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 <packaging>jar</packaging> 12 <packaging>jar</packaging>
13 13
14 <name>${project.artifactId}</name> 14 <name>${project.artifactId}</name>
15 - <description>短信拓展,支持阿里云、云片、腾讯云</description> 15 + <description>短信拓展,支持阿里云、腾讯云</description>
16 <url>https://github.com/YunaiV/ruoyi-vue-pro</url> 16 <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
17 17
18 <dependencies> 18 <dependencies>
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/enums/SmsFrameworkErrorCodeConstants.java
@@ -16,7 +16,6 @@ public interface SmsFrameworkErrorCodeConstants { @@ -16,7 +16,6 @@ public interface SmsFrameworkErrorCodeConstants {
16 // ========== 权限 / 限流等相关 2001000100 ========== 16 // ========== 权限 / 限流等相关 2001000100 ==========
17 17
18 ErrorCode SMS_PERMISSION_DENY = new ErrorCode(2001000100, "没有发送短信的权限"); 18 ErrorCode SMS_PERMISSION_DENY = new ErrorCode(2001000100, "没有发送短信的权限");
19 - // 云片:可以配置 IP 白名单,只有在白名单中才可以发送短信  
20 ErrorCode SMS_IP_DENY = new ErrorCode(2001000100, "IP 不允许发送短信"); 19 ErrorCode SMS_IP_DENY = new ErrorCode(2001000100, "IP 不允许发送短信");
21 20
22 // 阿里云:将短信发送频率限制在正常的业务限流范围内。默认短信验证码:使用同一签名,对同一个手机号验证码,支持 1 条 / 分钟,5 条 / 小时,累计 10 条 / 天。 21 // 阿里云:将短信发送频率限制在正常的业务限流范围内。默认短信验证码:使用同一签名,对同一个手机号验证码,支持 1 条 / 分钟,5 条 / 小时,累计 10 条 / 天。
yudao-module-system/yudao-module-system-biz/src/test-integration/java/cn/iocoder/yudao/module/system/service/sms/SmsServiceIntegrationTest.java
@@ -31,22 +31,6 @@ public class SmsServiceIntegrationTest extends BaseDbAndRedisIntegrationTest { @@ -31,22 +31,6 @@ public class SmsServiceIntegrationTest extends BaseDbAndRedisIntegrationTest {
31 private AdminUserService userService; 31 private AdminUserService userService;
32 32
33 @Test 33 @Test
34 - public void testSendSingleSms_yunpianSuccess() {  
35 - // 参数准备  
36 - String mobile = "15601691399";  
37 - Long userId = 1L;  
38 - Integer userType = UserTypeEnum.ADMIN.getValue();  
39 - String templateCode = "test_01";  
40 - Map<String, Object> templateParams = MapUtil.<String, Object>builder()  
41 - .put("operation", "登录").put("code", "1234").build();  
42 - // 调用  
43 - smsService.sendSingleSms(mobile, userId, userType, templateCode, templateParams);  
44 -  
45 - // 等待 MQ 消费  
46 - ThreadUtil.sleep(1, TimeUnit.HOURS);  
47 - }  
48 -  
49 - @Test  
50 public void testSendSingleSms_aliyunSuccess() { 34 public void testSendSingleSms_aliyunSuccess() {
51 // 参数准备 35 // 参数准备
52 String mobile = "15601691399"; 36 String mobile = "15601691399";
yudao-server/src/main/resources/application-local.yaml
@@ -78,7 +78,7 @@ spring: @@ -78,7 +78,7 @@ spring:
78 # Quartz 配置项,对应 QuartzProperties 配置类 78 # Quartz 配置项,对应 QuartzProperties 配置类
79 spring: 79 spring:
80 quartz: 80 quartz:
81 - auto-startup: false # 本地开发环境,尽量不要开启 Job 81 + auto-startup: true # 本地开发环境,尽量不要开启 Job
82 scheduler-name: schedulerName # Scheduler 名字。默认为 schedulerName 82 scheduler-name: schedulerName # Scheduler 名字。默认为 schedulerName
83 job-store-type: jdbc # Job 存储器类型。默认为 memory 表示内存,可选 jdbc 使用数据库。 83 job-store-type: jdbc # Job 存储器类型。默认为 memory 表示内存,可选 jdbc 使用数据库。
84 wait-for-jobs-to-complete-on-shutdown: true # 应用关闭时,是否等待定时任务执行完成。默认为 false ,建议设置为 true 84 wait-for-jobs-to-complete-on-shutdown: true # 应用关闭时,是否等待定时任务执行完成。默认为 false ,建议设置为 true