Spring Security 记住我

71 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

第一步 创建(配置)数据库

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://127.0.0.1:3306/study-security?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8
    driver-class-name: com.mysql.cj.jdbc.Driver

第二步 实现JdbcTokenRepositoryImpl

@Resource
private DataSource dataSource; 
@Bean
public JdbcTokenRepositoryImpl jdbcTokenRepository() {
    JdbcTokenRepositoryImpl jdbcTokenRepository = new JdbcTokenRepositoryImpl();
    //第一次启动: jdbcTokenRepository.setCreateTableOnStartup(true);
    jdbcTokenRepository.setDataSource(dataSource);
    return jdbcTokenRepository;

}

第三步 开启记住我功能

@Override
protected void configure(HttpSecurity http) throws Exception {
	// 其他代码略
    http
            .rememberMe()
            // 请求参数
            .rememberMeParameter("rememberMe")
            // 记住我储存
            .tokenRepository(jdbcTokenRepository())
            //记住我有效时
            .tokenValiditySeconds(60*10);

}