Spring Security如何使用Remember-me功能?
时间: 2023-04-01 22:00:49 浏览: 161
Spring Security可以使用Remember-me功能来实现自动登录。具体实现方式是在登录页面勾选“记住我”选项后,服务器会生成一个持久化的cookie,下次用户访问网站时,服务器会自动读取该cookie并进行自动登录。在Spring Security中,可以通过配置rememberMe()方法来启用Remember-me功能,例如:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/user/**").hasRole("USER")
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.rememberMe()
.key("my-remember-me-key")
.rememberMeParameter("remember-me")
.tokenValiditySeconds(86400)
.userDetailsService(userDetailsService);
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService);
}
}
在上面的代码中,我们通过rememberMe()方法启用了Remember-me功能,并设置了一个key、一个remember-me参数和一个token有效期。同时,我们还需要实现一个UserDetailsService接口来加载用户信息。
阅读全文