-前后端配合实现密码找回功能

前端-邮箱验证

用户进入忘记密码页面(localhost:8080/#/FindPwd),将用户名和图形验证码填入。前端对用户名进行后端校验(调用后端的api判断该用户名是否存在),如果用户不存在,给出相关提示;如果用户存在,然后调用发送邮件的后端api(携带用户名信息)

 

后端-发送邮件

 

后端接收到前端发送邮件的请求后,通过用户名从数据库查找对应的邮箱,发送邮件(邮件的形式是一些介绍说明和一个前端链接,该链接的形式为

localhost:8080/#/ResetPwd?token=yP1K8viNMKhv2HfDIPpS8exF21pPdVt8y9LP8AklXv78jPMImA4V7dJ5EMw1vJM7LcZ7BfDpXE1GHhdMga3r0A==)

其中localhost:8080为前端的ip和端口,后端可以从http请求头中的Origin中获取,这里用localhost:8080作为示例。而token中携带了加密信息(其中可以包含用户信息,用来作为重置密码页面的提示内容;其中必须包含用户id,失效时间等关键信息)。

 

发送邮件后,给前端响应,通知前端邮件是否发送成功。前端拿到这个结果,相应地给用户提示(如:“邮件发送成功,请前往邮箱查收”)

 

 

前端-解密链接

用户点击链接打开页面,前端对链接中的token查询字符串进行解密,调用后端解密的api,传入token值,解密可以得到用户id,失效时间等信息。前端获取到失效时间后,与当前时间做对比,如果已经过期,则提示用户;如果未过期,则展示重置密码页面。用户需要填入新密码,点击确认,进行密码重置。此时前端携带用户id和加密过的新密码发送重置密码的请求给后端api,后端返回成功后,前端提示用户修改成功。

 

转载于:https://blog.51cto.com/14150615/2356945

前后端配合实现密码找回功能思路相关推荐

  1. 前后端配合实现密码找回功能

    最近在开发一个密码找回的功能,目前已经实现,现在将实现的步骤记录下来. 前端-邮箱验证 用户进入忘记密码页面(localhost:8080/#/FindPwd),将用户名和图形验证码填入.前端对用户名 ...

  2. Django前后端分离实现登录验证码功能

    Django前后端分离实现登录验证码功能 当下最流行最热门的开发方式当属前后端分离开发,分工也更加明确与专注,前端也是越来越难,几天不学习就跟不上节奏,一个月不学习可以好不夸张的说,你已经不适合这个行 ...

  3. 密码找回功能可能存在的问题

    瞌睡龙 · 2013/07/17 23:51 0x00 背景介绍 有人的地方就有江湖. 互联网中,有用户注册的地方,基本就会有密码找回的功能. 而密码找回功能里可能存在的漏洞,很多程序员都没有想到. ...

  4. SpringBoot+LayUI+MybatisPlus 前后端分离 实现排名统计功能

    前言: 小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个学习Java快一年时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师. 首先给各位粉丝朋友 ...

  5. 前后端分离实现在线记账功能,前端使用vue,后端使用springmvc

    前后端分离实现在线记账功能 前端采用vue 后端采用springmvc 前端目录 后端目录 运行结果 双击单元格可以对每一项内容进行修改

  6. 第9章 完善之个人中心、密码找回功能

    小站:http://oideas.herokuapp.com 教程演示地址:http://omind.herokuapp.com 教程代码地址:https://github.com/joveth/OM ...

  7. php使用邮件找回密码,thinkphp实现发送邮件密码找回功能实例

    本文实例讲述了thinkphp实现发送邮件密码找回功能的方法.分享给大家供大家参考.具体实现方法如下: 首先下载mail.class.php类文件,配置文件中定义下列参数: 'MAIL_ADDRESS ...

  8. 前后端分离中的权限管理思路

    在传统的前后端不分的开发中,权限管理主要通过过滤器或者拦截器来进行(权限管理框架本身也是通过过滤器来实现功能),如果用户不具备某一个角色或者某一个权限,则无法访问某一个页面. 但是在前后端分离中,页面 ...

  9. 前后端交互,密码加密,RSA 实现前端 js 加密,后端 go 解密

    RSA 加密算法简介 一种比较常见的非对称加密算法,常用于前后端交互中的密码加密,前端使用公钥加密密码,后端使用私钥进行解密.公钥可对外开放,私钥是存放在服务端,外部正常情况下是拿不到解密私钥的. 以 ...

最新文章

  1. HDU 4300 Clairewd’s message
  2. poj 3468 线段树
  3. LaTeX在双栏模式下插入跨栏图表
  4. vhdl变量赋初值_1.6 C++变量
  5. 算法训练 字符串编辑 java
  6. ES5-1 发展史、ECMA、编程语言、变量、JS值
  7. php 自带 web server 如何重写 rewrite .htaccess
  8. 希望不要T我~~哈哈...
  9. ssl提高组周四备考赛【2018.10.18】
  10. Mathematics(jzoj 1747)
  11. if语句写阶跃函数C语言,C语言第四章分支语句.ppt
  12. Linux 开发环境工具 下载网址大全
  13. 阶段3 1.Mybatis_03.自定义Mybatis框架_5.自定义Mybatis的编码-创建两个默认实现类并分析类之间的关系...
  14. LaTeX使用小结2
  15. Java测试题及答案(Java干货完整试卷)
  16. HTML+CSS个人简历练习
  17. 人工智能深度学习数据集
  18. 酒店管理系统服务器网络,方讯酒店管理系统网络版安装配置说明.doc
  19. phpdesigner怎么写php,phpdesigner
  20. 纳韦斯托克斯方程的推导_一个方程的故事——纳维-斯托克斯方程(Navier-Stokes Equations)...

热门文章

  1. 【README3】动态规划之“找零钱”说明最优子结构怎么解决
  2. USACO-Section1.4 Combination Lock (枚举)
  3. Xray使用的一些经验分享(xray+burp的使用)
  4. 虚拟机Ubuntu蓝屏闪屏解决方法
  5. 常见的多变查询,和遇到的一些坑。。。。
  6. mysql8 修改root密码
  7. python 基础(一)
  8. 【bzoj2330】 [SCOI2011]糖果
  9. 任正非:华为100%没有后门,没想到美国打击华为决心这么大
  10. 20位大佬组团“踢馆”,谁超越了图灵?