springboot保持登录状态
时间: 2023-08-29 17:05:43 浏览: 136
在Spring Boot中保持登录状态通常使用Session来实现。以下是一个基本的实现步骤:
1. 创建一个登录页面,用户输入用户名和密码,提交表单到后台。
2. 后台验证用户输入的用户名和密码是否正确,如果正确则在Session中存储一个标记来表示用户已登录。
3. 在其他需要验证登录状态的页面或接口中,先判断Session中是否存在登录状态的标记,如果存在则表示用户已登录,否则需要重新登录。
以下是一个简单的示例代码:
1. 在LoginController中处理用户登录请求
```java
@Controller
public class LoginController {
@PostMapping("/login")
public String login(@RequestParam String username, @RequestParam String password, HttpSession session) {
// 验证用户名和密码是否正确
if ("admin".equals(username) && "123456".equals(password)) {
// 存储登录状态到Session中
session.setAttribute("loginUser", username);
return "redirect:/index";
} else {
return "login";
}
}
}
```
2. 在其他需要验证登录状态的Controller中,通过Session来判断用户是否已登录
```java
@Controller
public class IndexController {
@GetMapping("/index")
public String index(HttpSession session) {
// 判断Session中是否存在登录状态的标记
if (session.getAttribute("loginUser") != null) {
return "index";
} else {
return "redirect:/login";
}
}
}
```
在上面的示例代码中,我们将用户登录状态存储在Session中的"loginUser"属性中。在其他需要验证登录状态的页面或接口中,我们通过判断Session中是否存在"loginUser"属性来判断用户是否已登录。如果存在则表示用户已登录,否则需要重新登录。