springBoot项目如何配置登陆超时退策略
时间: 2024-12-21 10:29:01 浏览: 6
Spring Boot项目中配置登录超时退出策略通常涉及到Spring Security框架,它提供了一种方便的方式来处理用户认证和授权。以下是一个简单的步骤:
1. 添加依赖:首先,在你的`pom.xml`文件中添加Spring Security Web依赖,如果你还没有的话:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
```
2. 配置WebSecurityConfigurerAdapter:创建一个自定义的`WebSecurityConfigurerAdapter`并覆盖`configure(HttpSecurity http)`方法。在这个方法里,你可以设置会话管理(包括登录超时):
```java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
// 其他权限配置...
.and()
.sessionManagement()
.maximumSessions(1) // 设置最大同时在线会话数
.sessionTimeout(Duration.ofMinutes(30)) // 设置登录超时时间为30分钟
.invalidSessionUrl("/login?logout") // 登录超时后重定向到登出页面
.clearAuthenticationCache(); // 清除缓存的认证信息
}
// ...其他配置项
}
```
这里设置了每个用户的最大并发连接为1,如果超过这个限制或登录超时,则自动注销当前会话。
3. 检查登出URL:确保你的`/login` URL可以正常工作,并在接收到`logout`请求时清理会话。
阅读全文