国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

集成SpringCloudAlibaba短信服務(wù) 短信驗證碼

這篇具有很好參考價值的文章主要介紹了集成SpringCloudAlibaba短信服務(wù) 短信驗證碼。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.1 SpringCloudAlibaba短信服務(wù)簡介

短信服務(wù)(Short Message Service)是阿里云為用戶提供的一種通信服務(wù)的能力。

  • 產(chǎn)品優(yōu)勢:覆蓋全面、高并發(fā)處理、消息堆積處理、開發(fā)管理簡單、智能監(jiān)控調(diào)度

  • 產(chǎn)品功能:短信通知、短信驗證碼、推廣短信、異步通知、數(shù)據(jù)統(tǒng)計

  • 應(yīng)用場景:短信驗證碼、系統(tǒng)信息推送、推廣短信等

SpringCloudAlibaba提供的短信服務(wù),集成更加方便,代碼更加簡潔。

1.2 代碼解析

1.2.1 基本配置與工具類封裝

(1)我們這里使用了SpringCloudAlibaba中提供的短信服務(wù)

工程引入依賴

<dependency>
 ? ?<groupId>com.alibaba.cloud</groupId>
 ? ?<artifactId>spring-cloud-alicloud-sms</artifactId>
 ? ?<version>2.2.0.RELEASE</version>
</dependency>

(2)配置文件添加短信相關(guān)的配置,密鑰的配置

spring:
  cloud:
 ?  alicloud:
 ? ?  access-key: XXX
 ? ?  secret-key: XXX

以及簽名和模板號的配置(自定義)

sms:
  operator:
 ?  signName: xxx
 ?  templateCode: xxx

(3)SmsConfig用于讀取配置文件中的簽名和模板編號

package com.lkd.sms;
?
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
?
@Configuration
public class SmsConfig {
 ? ?@Value("${sms.operator.signName}")
 ? ?private String signName;
 ? ?@Value("${sms.operator.templateCode}")
 ? ?private String templateCode;
?
 ? ?public String getSignName() {
 ? ? ? ?return signName;
 ?  }
?
 ? ?public String getTemplateCode() {
 ? ? ? ?return templateCode;
 ?  }
}

(4)SmsSender用于封裝發(fā)送短信的方法

package com.lkd.sms;
?
import com.alibaba.alicloud.sms.ISmsService;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
?
@Component
@Slf4j
public class SmsSender {
 ? ?@Autowired
 ? ?private SmsConfig smsConfig;
 ? ?@Autowired
 ? ?private ISmsService smsService;
?
 ? ?/**
 ? ? *  發(fā)送驗證碼短信
 ? ? * @param telphone 手機號
 ? ? * @param code 手機驗證碼
 ? ? */
 ? ?public void sendMsg(String telphone,String code){
 ? ? ? ?// 組裝請求對象-具體描述見控制臺-文檔部分內(nèi)容
 ? ? ? ?SendSmsRequest request = new SendSmsRequest();
?
 ? ? ? ?// 必填:待發(fā)送手機號
 ? ? ? ?request.setPhoneNumbers(telphone);
 ? ? ? ?// 必填:短信簽名-可在短信控制臺中找到
 ? ? ? ?request.setSignName(smsConfig.getSignName());
 ? ? ? ?// 必填:短信模板-可在短信控制臺中找到
 ? ? ? ?request.setTemplateCode(smsConfig.getTemplateCode());
 ? ? ? ?// 可選:模板中的變量替換JSON串,如模板內(nèi)容為"【企業(yè)級分布式應(yīng)用服務(wù)】,您的驗證碼為${code}"時,此處的值為
 ? ? ? ?ObjectMapper mapper = new ObjectMapper();
 ? ? ? ?JsonNode rootNode = mapper.createObjectNode();
 ? ? ?  ((ObjectNode)rootNode).put("code",code);
 ? ? ? ?try {
 request.setTemplateParam(mapper.writeValueAsString(rootNode));//{"code":code}
 ? ? ? ? ? ?smsService.sendSmsRequest(request);
 ? ? ?  }
 ? ? ? ?catch (Exception e) {
 ? ? ? ? ? ?log.error("send sms error.",e);
 ? ? ?  }
 ?  }
}

在需要發(fā)送短信的地方,直接引入SmsSender即可

1.2.2 發(fā)送短信驗證碼

(1)發(fā)送短信驗證碼, UserService定義方法

/**
 * 發(fā)送驗證碼
 * @param mobile
 */
void sendCode(String mobile);

UserServiceImpl實現(xiàn)方法

@Autowired
private SmsSender smsSender;
?
@Override
public void sendCode(String mobile){
 ? ?if(Strings.isNullOrEmpty(mobile)) return;
 ? ?LambdaQueryWrapper<UserEntity> wrapper = new LambdaQueryWrapper<>();
 ? ?wrapper
 ? ? ? ? ?  .eq(UserEntity::getMobile,mobile);
 ? ?if(this.count(wrapper)<=0) return;
 ? ?
 ? ?if(redisTemplate.opsForValue().get(mobile) != null) return;
 ? ?//生成5位驗證碼
 ? ?StringBuilder sbCode = new StringBuilder();
 ? ?Stream
 ? ? ? ? ?  .generate( ()-> new Random().nextInt(10))
 ? ? ? ? ?  .limit(5)
 ? ? ? ? ?  .forEach(x-> sbCode.append(x));
 ? ?redisTemplate.opsForValue().set(mobile,sbCode.toString(), Duration.ofMinutes(5));
 ? ?smsSender.sendMsg(mobile,sbCode.toString());
}

(2)UserController新增方法文章來源地址http://www.zghlxwxcb.cn/news/detail-797805.html

/**
 * 生成登錄手機驗證碼
 * @param mobile
 */
@GetMapping("/code/{mobile}")
public void generateCode(@PathVariable String mobile){
 ? ?userService.sendCode(mobile);
}

到了這里,關(guān)于集成SpringCloudAlibaba短信服務(wù) 短信驗證碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 引入短信服務(wù)發(fā)送手機驗證碼進行安全校驗

    引入短信服務(wù)發(fā)送手機驗證碼進行安全校驗

    其他方案=引入QQ郵箱發(fā)送驗證碼進行安全校驗 相對短信驗證碼,操作更簡單而且免費 最近想給自己的項目在注冊時加點安全校驗,準備使用免費的郵箱驗證來著,在上一篇引入QQ郵箱進行安全校驗時,看有朋友說阿里云會送一些短信服務(wù)免費額度,于是去官網(wǎng)一看,果然送了

    2024年02月04日
    瀏覽(20)
  • 阿里云 短信服務(wù)——開啟驗證碼防盜刷監(jiān)控

    阿里云 短信服務(wù)——開啟驗證碼防盜刷監(jiān)控

    由于公司的業(yè)務(wù)要求,目前正在了解并運用阿里云的短信服務(wù)。 在短信服務(wù)這兒塊由于涉及到每條短信都需要花費一定的費用,以及每條短信都會與用戶進行信息交互,所以在這塊兒的別需要注重短信的安全問題。本篇博客主要介紹阿里云短信服務(wù)如何開啟驗證碼防盜刷監(jiān)控

    2024年02月05日
    瀏覽(16)
  • 基于阿里云服務(wù)實現(xiàn)短信驗證碼功能

    基于阿里云服務(wù)實現(xiàn)短信驗證碼功能

    阿里云短信服務(wù)是一項基于云計算和大數(shù)據(jù)技術(shù)的企業(yè)級短信平臺服務(wù)。它能夠為企業(yè)和開發(fā)者提供高可用、高性能、高穩(wěn)定性的短信發(fā)送服務(wù),可以快速地將各類業(yè)務(wù)通知、驗證碼、營銷推廣等信息發(fā)送給用戶。在我們經(jīng)常登錄一些系統(tǒng)或者APP時候,經(jīng)常會遇到其他登錄登

    2024年02月14日
    瀏覽(24)
  • 尚融寶15-集成阿里云短信服務(wù)

    尚融寶15-集成阿里云短信服務(wù)

    目錄 一、前言 二、測試短信發(fā)送 1、查找使用示例 2、測試短信發(fā)送??編輯 三、使用RAM子用戶 1、進入子用戶管理頁面 2、添加用戶? 3、獲取子用戶key 4、設(shè)置用戶權(quán)限 四、短信使用場景和流程 五、創(chuàng)建短信微服務(wù) 1、創(chuàng)建項目 2、自定義配置 3、發(fā)送短信 在阿里云的短信服

    2023年04月15日
    瀏覽(25)
  • 【賬號系統(tǒng)之(手機驗證碼登錄)】使用阿里云短信服務(wù),實現(xiàn)服務(wù)商給手機發(fā)送驗證碼功能。

    【賬號系統(tǒng)之(手機驗證碼登錄)】使用阿里云短信服務(wù),實現(xiàn)服務(wù)商給手機發(fā)送驗證碼功能。

    目錄 一、前言 二、前期準備 三、購買短信服務(wù) 四、申請簽名和模板 (1) 進入阿里云短信服務(wù)控制臺 (2) 添加簽名 (3) 添加模板 五、RAM申請及權(quán)限配置 (1) 進入RAM訪問控制界面 (2) 創(chuàng)建用戶 (3) 分配權(quán)限 (4) 創(chuàng)建角色 (5) 記錄段的值 六、阿里云.NET SDK身份驗證接入 (1) 了解

    2024年02月04日
    瀏覽(22)
  • 短信服務(wù)在項目中的配置及如何實現(xiàn)驗證碼登錄

    短信服務(wù)在項目中的配置及如何實現(xiàn)驗證碼登錄

    目前市面上有很多第三方提供的短信服務(wù),這些第三方短信服務(wù)會和各個運營商(移動、聯(lián)通、電信)對接,我們只需要注冊成為會員并且按照提供的開發(fā)文檔進行調(diào)用就可以發(fā)送短信。需要說明的是,這些短信服務(wù)一般都是收費服務(wù)。 阿里云短信服務(wù)(Short Message Service)是

    2023年04月16日
    瀏覽(21)
  • 項目7:(aliyun)實現(xiàn)短信的發(fā)送和驗證微服務(wù)和上傳文件刪除文件微服務(wù)

    項目7:(aliyun)實現(xiàn)短信的發(fā)送和驗證微服務(wù)和上傳文件刪除文件微服務(wù)

    ①gulimall-common和service-base放什么? gulimall-common寫全局用的工具包 全局異常處理 全局返回值 工具包(生成隨機數(shù),校驗手機號) service-base寫服務(wù)的配置 redis配置類序列化的方式 swagger文檔生成分組 ②生成四位或六位隨機數(shù) ③校驗手機號碼正確 ④補充錯誤代碼-501阿里云響應(yīng)失

    2023年04月19日
    瀏覽(27)
  • 【SpringBoot+MP】阿里云短信測試服務(wù)操作流程、用戶手機驗證碼登錄實現(xiàn)

    【SpringBoot+MP】阿里云短信測試服務(wù)操作流程、用戶手機驗證碼登錄實現(xiàn)

    前面是站在后臺員工的角度,現(xiàn)在站在消費者的角度,當客戶從移動端選擇通過驗證碼登錄APP,需要調(diào)用云服務(wù)器的短信功能(廠商短信服務(wù)API) ,后端要做的就是生成驗證碼并發(fā)送,并針對請求中客戶收到的驗證碼與后端發(fā)送的進行比對,確保一致后成功登錄。 首先針對

    2024年02月02日
    瀏覽(21)
  • 【業(yè)務(wù)功能篇94】微服務(wù)-springcloud-springboot-認證服務(wù)-注冊功能-第三方短信驗證API

    【業(yè)務(wù)功能篇94】微服務(wù)-springcloud-springboot-認證服務(wù)-注冊功能-第三方短信驗證API

    ??結(jié)合我們前面介紹的商城的架構(gòu)我們需要單獨的搭建一個認證服務(wù)。 ??首先創(chuàng)建一個SpringBoot項目,然后添加對應(yīng)的依賴 ??我們需要把認證服務(wù)注冊到Nacos中,添加對應(yīng)的依賴,然后完成對應(yīng)的配置 放開Nacos注冊中心 然后啟動測試 ??然后我們整理登錄和注冊的相關(guān)

    2024年02月09日
    瀏覽(30)
  • 珍藏5個在線免費接收國內(nèi)外手機短信驗證碼的網(wǎng)絡(luò)服務(wù)

    ????????一直以來手機號碼都是在線服務(wù)用來驗證登錄身份的主要方式,某些時候我們并不希望被知道真實身份,就可以使用一些方法繞過驗證,手機方面也有臨時手機號碼可以使用,就能夠在不被得知真實數(shù)據(jù)的情況下完成注冊或通過身份認證等程序。 手機號碼牽涉的

    2024年02月08日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包