采用该方法相较于简单加密方式安全一些。具体的原理见 http://wiki.jikexueyuan.com/project/spring-security/remember-me.html
一、建立存储token的表persistent_logins
CREATE TABLE persistent_logins ( username varchar(64) not null, series varchar(64) not null, token varchar(64) not null, last_used timestamp not null, PRIMARY KEY (series) );
因为我们采用的是JdbcTokenRepositoryImpl,所以表名以及字段采用的都是官方文档中的。
二、修改SecurityConfig配置
.and()
.rememberMe().tokenRepository(persistentTokenRepository())
.tokenValiditySeconds(1209600);
@Resource private DataSource dataSource;
//如果采用持久化 token 的方法则需要指定保存token的方法 @Bean public PersistentTokenRepository persistentTokenRepository() { JdbcTokenRepositoryImpl db = new JdbcTokenRepositoryImpl(); db.setDataSource(dataSource); return db; }
三、即可进行测试了
观察数据库,可以发现当使用remember me方式登录以后,token值会被修改