SpringBoot登錄、退出、獲取用戶(hù)信息的session處理方案
SpringBoot登錄、退出、獲取用戶(hù)信息的session處理
1、登錄方法:login
@PostMapping("/user/login") public ResponseVo<User> login(@Valid @RequestBody UserLoginForm userLoginForm, HttpSession session) { ResponseVo<User> userResponseVo = userService.login(userLoginForm.getUsername(), userLoginForm.getPassword()); //設(shè)置Session session.setAttribute(MallConst.CURRENT_USER, userResponseVo.getData()); log.info("/login sessionId={}", session.getId()); return userResponseVo; }
2、獲取用戶(hù)信息:user
//session保存在內(nèi)存里,改進(jìn)版:token+redis @GetMapping("/user") public ResponseVo<User> userInfo(HttpSession session) { log.info("/user sessionId={}", session.getId()); User user = (User) session.getAttribute(MallConst.CURRENT_USER); return ResponseVo.success(user); }
3、退出方法:logout
@PostMapping("/user/logout") public ResponseVo logout(HttpSession session) { log.info("/user/logout sessionId={}", session.getId()); session.removeAttribute(MallConst.CURRENT_USER); return ResponseVo.success(); }
session獲取用戶(hù)和退出操作
session獲取 [[${session.loginUser}]]
<p><span>下午好!</span><span style="color: #fff21b"> [[${session.loginUser}]]</span> , 歡迎你!</p>
退出:
1.頁(yè)面
<li><a th:href="@{/logout}" href="login.html">退出系統(tǒng)</a></li>
2.controller控制
package com.cc.springboot.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.thymeleaf.util.StringUtils; import javax.servlet.http.HttpSession; import java.util.Map; @Controller public class LoginController { @PostMapping("/login") public String login(HttpSession session, String username, String password, Map<String,Object>map){ // 判斷用戶(hù)名不為空,且密碼為123 if(!StringUtils.isEmpty(username) && "123".equals(password)){ //登錄成功 //重定向 redirect: 可以重定向到任何一個(gè)請(qǐng)求中(包括其他項(xiàng)目),地址欄改變 // return "main/index"; //在靜態(tài)資源中查找文件 session.setAttribute("loginUser",username); return "redirect:/main.html"; } // 登陸失敗 map.put("msg","用戶(hù)名或密碼錯(cuò)誤"); return "main/login"; } // 退出登錄 @GetMapping("/logout") public String logout(HttpSession session){ // 1.清空session中的用戶(hù)信息 session.removeAttribute("loginUser"); // 2.再將session進(jìn)行注銷(xiāo) session.invalidate(); // 3.返回登錄頁(yè)面 index.html之前的視圖映射 return "redirect:/index.html"; } }
到此這篇關(guān)于SpringBoot登錄、退出、獲取用戶(hù)信息的session處理的文章就介紹到這了,更多相關(guān)springboot退出登錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot中獲取微信用戶(hù)信息的方法
- SpringBoot+SpringCloud用戶(hù)信息微服務(wù)傳遞實(shí)現(xiàn)解析
- Springboot+Shiro記錄用戶(hù)登錄信息并獲取當(dāng)前登錄用戶(hù)信息的實(shí)現(xiàn)代碼
- SpringBoot使用Redis的zset統(tǒng)計(jì)在線用戶(hù)信息
- Springboot通過(guò)請(qǐng)求頭獲取當(dāng)前用戶(hù)信息方法詳細(xì)示范
- springboot如何完美通過(guò)token獲取用戶(hù)信息
- springboot登錄攔截器+ThreadLocal實(shí)現(xiàn)用戶(hù)信息存儲(chǔ)的實(shí)例代碼
- SpringBoot通過(guò)參數(shù)注解自動(dòng)獲取當(dāng)前用戶(hù)信息的方法
- SpringBoot中的ThreadLocal保存請(qǐng)求用戶(hù)信息的實(shí)例demo
- springboot獲取當(dāng)前用戶(hù)信息的三種方式
相關(guān)文章
Java springboot Mongodb增刪改查代碼實(shí)例
這篇文章主要介紹了Java springboot Mongodb增刪改查代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Spring Security 多過(guò)濾鏈的使用詳解
本文主要介紹了Spring Security 多過(guò)濾鏈的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07解決java.lang.StringIndexOutOfBoundsException: String&nbs
這篇文章主要介紹了解決java.lang.StringIndexOutOfBoundsException: String index out of range: -1錯(cuò)誤問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03示例解析java面向?qū)ο缶幊谭庋b與訪問(wèn)控制
這篇文章主要為大家介紹了java封裝與訪問(wèn)控制的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05Java中關(guān)于字典樹(shù)的算法實(shí)現(xiàn)
字典樹(shù),又稱(chēng)單詞查找樹(shù),Trie樹(shù),是一種樹(shù)形結(jié)構(gòu),哈希表的一個(gè)變種。用于統(tǒng)計(jì),排序和保存大量的字符串,本文針對(duì)字典樹(shù)給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值2021-09-09java swing實(shí)現(xiàn)貪吃蛇雙人游戲
這篇文章主要為大家詳細(xì)介紹了java swing實(shí)現(xiàn)貪吃蛇雙人小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01SpringBoot高版本修改為低版本時(shí)測(cè)試類(lèi)報(bào)錯(cuò)的解決方案
這篇文章主要介紹了SpringBoot高版本修改為低版本時(shí)測(cè)試類(lèi)報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09