您的位置:首页 > 编程语言 > Java开发

spring security采用基于持久化 token 的方法实现的remember me功能

2017-03-23 16:51 573 查看
采用该方法相较于简单加密方式安全一些。具体的原理见 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值会被修改
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: