Python 官方文档:入门教程 => 点击学习
目录技术列表:用户登录逻辑:用户注册逻辑:参考文献:总结该文章主要是为了整理之前学习项目中的知识点,并进行一定程度的理解。 技术列表: SpringBoot Mys
该文章主要是为了整理之前学习项目中的知识点,并进行一定程度的理解。
首先打开前端登录页面,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);
}
}
这里为了方便传输,把前端参数封装成对象传入.
后端验证查询账户的逻辑操作:
String pwd = DigestUtils.md5Hex(passWord + salt);
//根据账号和加密的密码进行数据库的查找
SysUser sysUser = sysUserService.findUser(account, pwd);
查找成功,使用JWT工具包生成token,保存到redis中
向前端返回生成的token,检查token,进行登录
{
"code": 200,
"success": true,
"msg": "success",
"data": "eyJhbGCioiJIUzI1NiJ9.eyJleHaiOjE2MzQ4OTY1MDIsInVzZXJJZCI6MSwiaWF0IjoxNjM0MDA3NDcwfQ.9eljsiGa-QARLqKGLTeFW9Go7ujsArd0QV_HihHfEm0"
}
这里就实现了JWT和redis实现简单的登录验证功能。
前端请求:
前端传递账户名、密码、昵称,调用http://localhost:8888/reGISter地址进行post传参,后端接收参数
1、获取前端参数,判断参数是否合法(是否为空)
2、判断账户是否存在,存在,返回账户已经被注册了的JSON数据
3、不存在、注册账户(生成User对象)调用保存接口,保存的时候需要将密码进行MD5+盐 加密
4、生成token令牌
String token = JWTUtils.createToken(sysUser.getId());
5、存入redis 并返回
这里存入redis是因为,注册成功后会跳转到前端页面,前端页面会去redis中找user的信息进行对比,如果存在,显示登录,反之登录失败。
6、注意加上事务,一旦中间的任何过程出现问题,注册的用户需要回滚(防止脏数据)
将生成得token传递给前端:
{
"code": 200,
"success": true,
"msg": "success",
"data": "eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MzQ4NDc0MzQsInVzZXJJZCI6MTQ0NzU1MjU3MDYzMDQzNDgxNywiaWF0IjoxNjMzOTU4NDAxfQ.zn5meG_lUWROuz7TmkUGS0MTjO1-TDQa42uM_-uhXqs"
}
前端调用该接口,:
http://localhost:8888/users/currentUser
前端将获得token传递给后端接口currentUser,在redis中找到user信息,校验信息,解析数据,返回用户基本信息,前端解析
前端index.js部分代码段:
login({commit}, user) {
return new Promise((resolve, reject) => {
login(user.account, user.password).then(data => {
if(data.success){
commit('SET_TOKEN', data.data)
setToken(data.data)
resolve()
}else{
reject(data.msg)
}
}).catch(error => {
reject(error)
})
})
到这里就是简单的登录注册的功能,上述内容都是部分代码段,如果有需要学习的可以评论留言。
【码神之路】博客开发;
到此这篇关于springBoot实现网站登陆注册逻辑的文章就介绍到这了,更多相关SpringBoot登陆注册逻辑内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: SpringBoot实现网站的登陆注册逻辑记录
本文链接: https://www.lsjlt.com/news/137888.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0