一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringBoot實現網站的登陸注冊邏輯記錄

SpringBoot實現網站的登陸注冊邏輯記錄

2022-02-16 15:00xbhog Java教程

登陸注冊功能是我們日常開發中經常遇到的一個功能,下面這篇文章主要給大家介紹了關于SpringBoot實現網站的登陸注冊邏輯的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下

該文章主要是為了整理之前學習項目中的知識點,并進行一定程度的理解。

 

技術列表:

  • SpringBoot
  • MySQL
  • redis
  • JWT

 

用戶登錄邏輯:

首先打開前端登錄頁面,F12進行網頁URL抓取:

SpringBoot實現網站的登陸注冊邏輯記錄

隨便輸入信息,查看請求后端的地址:

地址:

請求 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);
    }

}

這里為了方便傳輸,把前端參數封裝成對象傳入.

后端驗證查詢賬戶的邏輯操作:

  • 獲取賬戶密碼
  • 判斷賬戶密碼是否為空
  • 密碼加密,采用MD5加密+鹽的操作
  • 通過處理的賬戶密碼(加密)進行數據庫查詢
String pwd = DigestUtils.md5Hex(password + salt);
//根據賬號和加密的密碼進行數據庫的查找
SysUser sysUser = sysUserService.findUser(account, pwd);

查找成功,使用JWT工具包生成token,保存到redis中

SpringBoot實現網站的登陸注冊邏輯記錄

向前端返回生成的token,檢查token,進行登錄

{
    "code": 200,
    "success": true,
    "msg": "success",
    "data": "eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MzQ4OTY1MDIsInVzZXJJZCI6MSwiaWF0IjoxNjM0MDA3NDcwfQ.9elJSiGa-QARLqKGLTeFW9go7ujsArd0QV_HihHfEm0"
}

這里就實現了JWT和redis實現簡單的登錄驗證功能。

 

用戶注冊邏輯:

前端請求:

SpringBoot實現網站的登陸注冊邏輯記錄

前端傳遞賬戶名、密碼、昵稱,調用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登陸注冊邏輯內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/xbhog/p/15397167.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99热国产这里只有精品99 | 国产免费看黄的私人影院 | 午夜深情在线观看免费 | 2019年国产高清情侣视频 | 国产成人看片免费视频观看 | 久久精品视频在线看 | 国产欧美一区二区三区精品 | 国产在线成人精品 | 精品国产欧美一区二区五十路 | 四虎小视频 | 动漫jk美女被爆羞羞漫画 | 女人把扒开给男人爽 | 国产乱叫456在线 | 激情艳妇之性事高h | 日本韩国推理片免费观看网站 | 操穴片| 国产成人毛片 | 成人快插 | 国产欧美在线播放 | 香蕉免费高清完整 | 国产色图片 | 国产日韩欧美在线一区二区三区 | 啊啊啊好大好爽视频 | www.爱情岛论坛 | 色综合天天综合网国产人 | 丁香六月色婷婷综合网 | 久久99亚洲热最新地址获取 | 闺蜜调教我做她的脚奴 | 国产精品刺激好大好爽视频 | 五月一区二区久久综合天堂 | 久久精品国产免费 | 日韩亚洲人成在线综合 | 久久成人亚洲 | 国内免费高清视频在线观看 | 美国69xxxx59| 国产精品午夜国产小视频 | 亚洲国产精品日本无码网站 | 国产馆精品推荐在线观看 | 国产精品嫩草影院一二三区 | 日韩精品一区二区三区中文版 | 亚洲国产日韩欧美mv |