springboot 清楚 指定session
时间: 2024-10-13 10:04:11 浏览: 33
解决springboot实现跨域session共享问题
Spring Boot 中清理会话(Session)通常是在 Web 应用程序中,当你想要结束用户的会话,比如用户关闭浏览器、超时未活动等场景。这可以通过 Spring Security 或直接操作 HttpSession 来实现。
1. **通过 Spring Security**:你可以配置 SecurityFilterChain,如`HttpSessionSecurityContextRepository`,它会在 Session 过期时自动清除。此外,可以设置 `session-management` 配置,例如:
```yaml
security:
session:
timeout: 30m # 设置默认会话过期时间为30分钟
invalid-session-url: /logout # 当会话失效时重定向到这个URL
```
2. **手动管理**:在控制器方法里,可以使用 `HttpSession` 对象,如 `model.addAttribute("status", "logged_out"); response.sendRedirect("/login");`,然后清除当前请求的 Session。
```java
@GetMapping("/logout")
public String logout(HttpSession session) {
session.invalidate(); // 清除会话
return "redirect:/login";
}
```
阅读全文