0
是否有任何理由为什么从一台设备注销会删除用户的所有持久登录令牌(记住我)?为什么Spring安全记住我实现在注销时删除所有活动令牌?
以我的情况为例,用户可以从桌面和平板电脑登录,而从桌面注销的用户不应使平板电脑使用的记忆我令牌被删除。
在JdbcTokenRepositoryImpl
当前实现只接受用户名:
public void removeUserTokens(String username) {
getJdbcTemplate().update(removeUserTokensSql, username);
}
所以我创建了RememberMeServices
和PersistentTokenRepository
的自定义实现只允许特定系列为用户被删除:
public void removeUserTokens(String username, String presentedSeries) {
getJdbcTemplate().update(removeUserTokensSql, username, presentedSeries);
}
这是安全吗?
感谢您的回答,我已阅读了更多关于Spring Session的内容,这似乎是我正在寻找的。考虑记住我与春季会议相比是否过时是否正确? – W4pp
春季会议可以完全取代记住我,但我不会认为它已经过时。原因在于,在某些情况下,用户可能无法使用Spring Session(即政治) –