您的位置 首页 > 数码极客

‘js如何实现注册功能吗’js如何实现重置功能!

该文章主要是为了整理之前学习项目中的知识点,并进行一定程度的理解。

技术列表:

  1. SpringBoot
  2. MySQL
  3. redis
  4. JWT

用户登录逻辑:

首先打开前端登录页面,F12进行网页URL抓取:

随便输入信息,查看请求后端的地址:

地址:

请求 URL: http://localhost:8888/login 请求方法: POST 状态代码: 200 远程地址: [::1]:8888 引用站点策略: strict-origin-when-cross-origin

很明显,前端用户输入账户,通过post请求传递给后端接收:

@RequestMapping("/login") public class LoginController { @Autowired private LoginService loginService; @PostMapping public Result login(@RequestBody LoginParam loginParam){ return loginService.login(loginParam); } }

这里为了方便传输,把前端参数封装成对象传入.

后端验证查询账户的逻辑操作:

  1. 获取账户密码
  2. 判断账户密码是否为空
  3. 密码加密,采用MD5加密+盐的操作
  4. 通过处理的账户密码(加密)进行数据库查询
String pwd = Dige(password + salt); //根据账号和加密的密码进行数据库的查找 SysUser sysUser = (account, pwd);
  1. 查找成功,使用JWT工具包生成token,保存到redis中

  1. 向前端返回生成的token,检查token,进行登录
{ "code": 200, "success": true, "msg": "success", "data": "eyJ; }

这里就实现了JWT和redis实现简单的登录验证功能。

用户注册逻辑:

前端请求:

前端传递账户名、密码、昵称,调用http://localhost:8888/register地址进行post传参,后端接收参数

  1. 获取前端参数,判断参数是否合法(是否为空)
  2. 判断账户是否存在,存在,返回账户已经被注册了的json数据
  3. 不存在、注册账户(生成User对象)调用保存接口,保存的时候需要将密码进行MD5+盐 加密
  4. 生成token令牌String token = JWTU());
  5. 存入redis 并返回这里存入redis是因为,注册成功后会跳转到前端页面,前端页面会去redis中找user的信息进行对比,如果存在,显示登录,反之登录失败。
  6. 注意加上事务,一旦中间的任何过程出现问题,注册的用户需要回滚(防止脏数据)

将生成得token传递给前端:

{ "code": 200, "success": true, "msg": "success", "data": "eyJ; }

前端调用该接口,:

http://localhost:8888/users/currentUser

前端将获得token传递给后端接口currentUser,在redis中找到user信息,校验信息,解析数据,返回用户基本信息,前端解析

前端index.js部分代码段:

login({commit}, user) { return new Promise((resolve, reject) => { login, u).then(data => { i){ commit('SET_TOKEN', da) setToken(da) resolve() }else{ rejec) } }).catch(error => { reject(error) }) })

到这里就是简单的登录注册的功能,上述内容都是部分代码段,如果有需要学习的可以评论留言。

参考文献:

【码神之路】博客开发;

结束:

如果你看到这里或者正好对你有所帮助,希望能点个或者⭐感谢;

有错误的地方,欢迎在评论指出,作者看到会进行修改。

原文链接:

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“js如何实现注册功能吗,js如何实现重置功能,js复制功能如何实现”边界阅读