SpringBoot登錄、退出、獲取用戶信息的session處理方案
更新時間:2023年08月21日 09:09:10 作者:全棧技術(shù)負(fù)責(zé)人
這篇文章主要介紹了SpringBoot登錄、退出、獲取用戶信息的session處理,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
SpringBoot登錄、退出、獲取用戶信息的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、獲取用戶信息:user
//session保存在內(nèi)存里,改進版: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獲取用戶和退出操作
session獲取 [[${session.loginUser}]]
<p><span>下午好!</span><span style="color: #fff21b"> [[${session.loginUser}]]</span> , 歡迎你!</p>
退出:
1.頁面
<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){ // 判斷用戶名不為空,且密碼為123 if(!StringUtils.isEmpty(username) && "123".equals(password)){ //登錄成功 //重定向 redirect: 可以重定向到任何一個請求中(包括其他項目),地址欄改變 // return "main/index"; //在靜態(tài)資源中查找文件 session.setAttribute("loginUser",username); return "redirect:/main.html"; } // 登陸失敗 map.put("msg","用戶名或密碼錯誤"); return "main/login"; } // 退出登錄 @GetMapping("/logout") public String logout(HttpSession session){ // 1.清空session中的用戶信息 session.removeAttribute("loginUser"); // 2.再將session進行注銷 session.invalidate(); // 3.返回登錄頁面 index.html之前的視圖映射 return "redirect:/index.html"; } }
到此這篇關(guān)于SpringBoot登錄、退出、獲取用戶信息的session處理的文章就介紹到這了,更多相關(guān)springboot退出登錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
- SpringBoot中獲取微信用戶信息的方法
- SpringBoot+SpringCloud用戶信息微服務(wù)傳遞實現(xiàn)解析
- Springboot+Shiro記錄用戶登錄信息并獲取當(dāng)前登錄用戶信息的實現(xiàn)代碼
- SpringBoot使用Redis的zset統(tǒng)計在線用戶信息
- Springboot通過請求頭獲取當(dāng)前用戶信息方法詳細(xì)示范
- springboot如何完美通過token獲取用戶信息
- springboot登錄攔截器+ThreadLocal實現(xiàn)用戶信息存儲的實例代碼
- SpringBoot通過參數(shù)注解自動獲取當(dāng)前用戶信息的方法
- SpringBoot中的ThreadLocal保存請求用戶信息的實例demo
- springboot獲取當(dāng)前用戶信息的三種方式
相關(guān)文章
Java springboot Mongodb增刪改查代碼實例
這篇文章主要介紹了Java springboot Mongodb增刪改查代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07解決java.lang.StringIndexOutOfBoundsException: String&nbs
這篇文章主要介紹了解決java.lang.StringIndexOutOfBoundsException: String index out of range: -1錯誤問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03SpringBoot高版本修改為低版本時測試類報錯的解決方案
這篇文章主要介紹了SpringBoot高版本修改為低版本時測試類報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09