springboot項目賬戶注冊邏輯功能實現(xiàn)
記錄一下實現(xiàn)注冊邏輯功能,方便以后回顧。
邏輯如下:
/** * 用戶注冊 * @param userAccount * @param userPassword * @param checkPassword * @return */ @Override public long userRegister(String userAccount, String userPassword, String checkPassword) { // 1. 驗證 // 非空校驗 if (StringUtils.isAnyEmpty(userAccount, userPassword, checkPassword)){ return -1; } // 賬戶、密碼長度校驗 if (userAccount.length() < 4 || userPassword.length() < 8){ return -1; } // 賬戶不能包含特殊字符校驗 if (userAccount.matches(".*[^a-zA-Z0-9].*")){ return -1; } // 密碼與驗證密碼是否相同 if (!userPassword.equals(checkPassword)){ return -1; } // 驗證賬戶是否重復(fù)。 // 這里放到最后校驗的作用:當(dāng)賬戶包含特殊字符時,無需對進行一次數(shù)據(jù)庫查找操作,減少資源浪費 QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("userAccount", userAccount); long count = userMapper.selectCount(queryWrapper); if (count > 0){ return -1; } // 2. 加密 // 加鹽 final String SALT = "lyj"; String newPassword = DigestUtils.md5DigestAsHex((SALT + userPassword).getBytes(StandardCharsets.UTF_8)); // 3. 插入數(shù)據(jù)庫 User user = new User(); user.setUserAccount(userAccount); user.setAvatarUrl(""); user.setGender(0); user.setUserPassword(newPassword); user.setUserStatus(0); user.setIsDelete(0); int saveResult = userMapper.insert(user); if (saveResult != 1){ return -1; } return user.getId(); }
tips:這里在校驗時,可以將校驗賬戶是否重復(fù)注冊放在校驗的最后一步,當(dāng)賬戶包含特殊字符時,無需對進行一次數(shù)據(jù)庫查找操作,減少資源浪費。
到此這篇關(guān)于springboot項目賬戶注冊邏輯功能實現(xiàn)的文章就介紹到這了,更多相關(guān)springboot賬戶注冊邏輯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java讀取excel文件并復(fù)制(copy)文件到指定目錄示例
這篇文章主要介紹了java讀取excel文件并復(fù)制文件到指定目錄示例,需要的朋友可以參考下2014-02-02servlet的url-pattern匹配規(guī)則詳細描述(小結(jié))
在利用servlet或Filter進行url請求的匹配時,很關(guān)鍵的一點就是匹配規(guī)則。這篇文章主要介紹了servlet的url-pattern匹配規(guī)則詳細描述(小結(jié)),非常具有實用價值,需要的朋友可以參考下2018-07-07Java讀取resources目錄下文件路徑的九種代碼示例教程
在Java開發(fā)中經(jīng)常需要讀取項目中resources目錄下的文件或獲取資源路徑,這篇文章主要給大家介紹了關(guān)于Java讀取resources目錄下文件路徑的九種代碼示例教程,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-07-07SpringBoot中發(fā)送QQ郵件功能的實現(xiàn)代碼
這篇文章主要介紹了SpringBoot中發(fā)送QQ郵件功能的實現(xiàn)代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-02-02springboot結(jié)合mybatis-plus基于session模擬短信注冊功能
本文主要介紹了springboot結(jié)合mybatis-plus基于session模擬短信注冊功能,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11關(guān)于Unsupported Media Type的解決方案
在Web開發(fā)中,415錯誤表示服務(wù)器無法處理請求附帶的媒體格式,本文介紹了導(dǎo)致HTTP 415錯誤的原因以及解決該問題的兩種方法,首先,415錯誤通常是由于客戶端請求的內(nèi)容類型與服務(wù)器期望的不匹配引起的,例如,服務(wù)器可能期望JSON格式的數(shù)據(jù)2024-10-10