SpringBoot實戰項目(十四)--登錄功能之登錄表單驗證


首先控制器--LoginController

 1     /**
 2      * 登錄表單提交處理控制器
 3      * @param user
 4      * @param cpacha
 5      * @param request
 6      * @return
 7      */
 8     @PostMapping("/login")
 9     @ResponseBody
10     public Results login(SysUser user, String cpacha, HttpServletRequest request){
11         //判斷當前會話是否超時
12         Object loginCpacha = request.getSession().getAttribute("loginCpacha");
13         if (loginCpacha == null){
14             return Results.failure(ResponseCode.LOGIN_ERROR.getCode(),ResponseCode.LOGIN_ERROR.getMessage());
15         }
16         //判斷驗證碼是否正確
17         if (!cpacha.toUpperCase().equals(loginCpacha.toString().toUpperCase())){
18             return Results.failure(ResponseCode.LOGIN_CPACHA.getCode(),ResponseCode.LOGIN_CPACHA.getMessage());
19         }
20      //根據表單提交的用戶名查詢是否存在該用戶
21         SysUser findUser = userService.findByUserByUserName(user.getUserName());
22         //判斷用戶名是否存在
23         if (findUser == null){
24             return Results.failure(ResponseCode.USERNAME_NULL.getCode(),ResponseCode.USERNAME_NULL.getMessage());
25         }
26         //判斷密碼是否正確(數據庫密碼全部MD5加密,需要加密后才能與數據庫進行對比)
27         user.setPassWord(Md5Cipher.encryptWithSalt(user.getPassWord()));
28         if (!user.getPassWord().equals(findUser.getPassWord())){
29             return Results.failure(ResponseCode.PASSWORD_ERROR.getCode(),ResponseCode.PASSWORD_ERROR.getMessage());
30         }
31         //用戶信息放到Session中
32         request.getSession().setAttribute("user",findUser);
33         return Results.success();
34     }

Results---封裝結果集,以便返回前端   ResponseCode---公共的請求信息(不懂往回翻實戰項目(二))

 

 

 UserService

 

 

 

 UserServiceImpl

 

 

UserDao

 

 UserMapper.xml

 

 啟動測試---

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 右上角有顯示出當前登錄用戶的用戶名,在登錄驗證通過之后,把當前登錄的用戶信息存入session(session個人簡單理解就是相當於一個全局變量,只要session不失效,就能調用它)

然后在主頁Index.html里調用它就行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM