SpringBoot登錄、退出、獲取用戶信息的session處理方案
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)存里,改進(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獲取用戶和退出操作
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){
// 判斷用戶名不為空,且密碼為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","用戶名或密碼錯(cuò)誤");
return "main/login";
}
// 退出登錄
@GetMapping("/logout")
public String logout(HttpSession session){
// 1.清空session中的用戶信息
session.removeAttribute("loginUser");
// 2.再將session進(jìn)行注銷
session.invalidate();
// 3.返回登錄頁(yè)面 index.html之前的視圖映射
return "redirect:/index.html";
}
}到此這篇關(guān)于SpringBoot登錄、退出、獲取用戶信息的session處理的文章就介紹到這了,更多相關(guān)springboot退出登錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot中獲取微信用戶信息的方法
- SpringBoot+SpringCloud用戶信息微服務(wù)傳遞實(shí)現(xiàn)解析
- Springboot+Shiro記錄用戶登錄信息并獲取當(dāng)前登錄用戶信息的實(shí)現(xiàn)代碼
- SpringBoot使用Redis的zset統(tǒng)計(jì)在線用戶信息
- Springboot通過(guò)請(qǐng)求頭獲取當(dāng)前用戶信息方法詳細(xì)示范
- springboot如何完美通過(guò)token獲取用戶信息
- springboot登錄攔截器+ThreadLocal實(shí)現(xiàn)用戶信息存儲(chǔ)的實(shí)例代碼
- SpringBoot通過(guò)參數(shù)注解自動(dòng)獲取當(dāng)前用戶信息的方法
- SpringBoot中的ThreadLocal保存請(qǐng)求用戶信息的實(shí)例demo
- springboot獲取當(dāng)前用戶信息的三種方式
相關(guān)文章
Java springboot Mongodb增刪改查代碼實(shí)例
這篇文章主要介紹了Java springboot Mongodb增刪改查代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Spring 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-05
Java中關(guān)于字典樹(shù)的算法實(shí)現(xiàn)
字典樹(shù),又稱單詞查找樹(shù),Trie樹(shù),是一種樹(shù)形結(jié)構(gòu),哈希表的一個(gè)變種。用于統(tǒng)計(jì),排序和保存大量的字符串,本文針對(duì)字典樹(shù)給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值2021-09-09
java swing實(shí)現(xiàn)貪吃蛇雙人游戲
這篇文章主要為大家詳細(xì)介紹了java swing實(shí)現(xiàn)貪吃蛇雙人小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01
SpringBoot高版本修改為低版本時(shí)測(cè)試類報(bào)錯(cuò)的解決方案
這篇文章主要介紹了SpringBoot高版本修改為低版本時(shí)測(cè)試類報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09

