20、实现短信验证码的登录注册功能
实现短信验证码的登录注册功能
第一步:查看接口内容
为什么用@RequestBody因为其中我们前端传过来的是json数据那么后端我们就要用@requestBody注解来接收了。
查看写这个实体类
这里是因为我们前端除了有短信登录,还有密码登录所以有password
第二步:写方法(就是在这个controller中)
第三步:实现方法
接口(interface)
真正的实现部分(impl)
第四步:实现真正的流程
- 校验手机号
- 如果不符合,返回错误信息
- 校验验证码(这里上面是取出session存的验证码,下面是提交过来的验证码(前端提交的))
- 验证码不一致就报错
- 一致,根据手机号查询用户(这里我们使用的mybtis-puls):
!!!我们使用query()因为我们继承了这个ServiceImpl且指明了实体类(实现单表的增删改查)还有我们的Mapper是什么UserMapper,这样puls就会帮我们查了
由mybatis提供
- query()=这个,上面的<实体类>告诉了我们表名
- eq等价于=
- 要清楚我们需要要查出的数据是多个还是单个,多个就是list,单个one
- 判断用户是否存在
- 不存在就创建新用户并保存(因为成不成功都要保存到session中所用用user)
- 用户信息保存到session中
20、实现短信验证码的登录注册功能相关推荐
- springboot项目使用短信验证码的登录注册功能
一. 操作流程 用户输入手机号,点击发送验证码按钮 前端将手机号发送给后端 后端生成一个6位的随机数通过短信发送给用户,之后手机号为key,随机数为value,存入缓存中,最后将短信发送是否成功的结果 ...
- 系统登录页面短信验证码方式登录实现
近期公司有个需求,要求使用短信验证码登录,取代原来的图片验证码方式,在此记录一下我的实现方法,希望对你有所帮助 公司需求:目前只有账号和验证码方式验证登录,按照公司网络安全统一部署,要求所有公网系统都 ...
- 06-发送短信验证码实现登录功能
1.发送短信验证码实现登录功能的流程 1.1.获取验证码流程 1.2.登录流程 1.3.页面带有图形验证码的流程 2. 注册登录二合一页面的开发 2.1.将src目录下的App.vue页面上通用显示的 ...
- springsecurity自定义短信验证码认证登录流程
文章目录 前言 验证码存储我们采用redis作为缓存 (注意,这里为了测试方便改为手动设置验证码) 经过上面接口,验证码已经存入到redis中,下面开始认证流程 自定义SmsCodeAuthentic ...
- Nodejs实现给手机发送短信验证码用于登录功能(免费短信)
我们开发的应用通常需要通过手机短信验证码验证进行登录,方便了那些容易忘记密码的用户,同时也降低了是密码被盗的风险性. 文章目录 1.注册容联云通信账号(免费) 2.nodejs发送请求即可发送短信验证 ...
- PHP 实现阿里云短信API对接(登录/注册参考)
目录 一.阿里云SDK依赖(需要安装好composer) 二.使用步骤 1.登录/注册接口对接的阿里云发送短信的控制器 2.登录发送短信/登录短信验证 3:注册发送短信/注册短信验证 登录和注册时都需 ...
- 发送短信验证码执行登录操作
短信服务介绍: 目前市场上有很多第三方提供的短信服务,这些第三方短息服务会和各个运营商(移动,联通,电信)对接,我们只需要注册成为会员,并且按照提供的开发文档进行调用就可以完成发送短信,需要说明的是, ...
- Go语言初识应用--容联云发送短信验证码、手机号注册
使用gin框架.gorm映射 所使用的连接容联云参考容联云官方文档,放置到utils中, gin项目结构根据自身需要,大题如下设置: utils--sms.go package main import ...
- SpringCloud - Oauth2增加短信验证码验证登录
文章目录 前言 Oauth2认证过程 1.在进行认证时,会先根据认证类型即前端传入的grant_type,从所有的TokenGranter中找到具体匹配的TokenGranter 2.在找到对应的To ...
最新文章
- TensorRT Samples: MNIST(serialize TensorRT model)
- 一款基jquery超炫的动画导航菜单
- 今天清华学长手把手带你做UI自动化测试
- 简单说一下kafka 与其他消息队列
- 华硕z170a如何开启m2_跑得快也要站得稳,华硕灵珑II笔记本保护你的数据安全
- java图片滚动特效_js图片各种滚动效果
- vsftpd的基于pam_mysql的虚拟用户机制实现数据传输
- 机器学习工程师 - Udacity 强化学习 Part Nine
- 地图 显示 动态轨迹_野外探路必备神器——奥维互动地图浏览器
- oracle当天是这个月的第几周,oracle_oracle查看当前日期是第几个星期的方法,系统当前时间是多少周,就是 - phpStudy...
- 【C++11】之 emplace_back() 与 push_back() 的区别
- mumu模拟器cpu设置_网易MuMu模拟器CPU虚拟化怎么设置?
- GPT专业应用:如何让GPT策划方案
- 2D和3D的对比,不用犹豫,三维设计是行业未来必然趋势!
- 【进阶】使用Excel进行回归分析,预测真实值
- mysql链接liunx远程服务器
- 纸上谈兵: 图 (graph)
- 【2021-07-23】JS逆向之某乎x_zes_96
- ps入门第16天_ps液化变形_ps瘦身 案例:魔鬼瘦身大法
- 前端干货知识点!带你重温细致入微的前端内容!【长文·建议收藏】
热门文章
- python在linux上面下载文件以及文件夹到本地时候本地文件夹报PermissionError: [Errno 13] Permission denied的解决办法
- 400w人在抖音学驾照科目一,给我看哭了……用Python这不一下整活了吗
- Google Java 编码规范
- vue2.x 标签动态设置背景问题,有透明度
- 【Qt】error: QApplication: No such file or directory 解决方案
- Hexo+buttterfly适合任意主题美化(悬挂动态修饰物)
- Python-CSP 201703-1 分蛋糕
- Linux学习基本步骤
- python 做表格分析_Python 处理分析 128 张 Excel 表格竟不到3秒?| 附数据集
- CSS font-size属性