Вот как вы можете сделать RememberMe вручную во время авторизации вручную,
Сначала вы сохраняете пользователя в контексте безопасности
@Autowired
RememberMeServices rememberMeServices;
@RequestMapping(value = "/login")
public String login(HttpServletRequest request,HttpServletResponse response) {
Authentication auth = new UsernamePasswordAuthenticationToken(currentUser, null, currentUser.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(auth);
rememberMeServices.loginSuccess(request, response, auth);
}
Вот конфигурация
@Configuration
...
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Autowired
DataSource dataSource;
@Bean
public RememberMeServices rememberMeServices() {
// TokenBasedRememberMeServices if you don't want to persist token
// return new TokenBasedRememberMeServices("key", userDetailsService);
PersistentTokenBasedRememberMeServices rememberMeServices =
new PersistentTokenBasedRememberMeServices("key", userDetailsService, persistentTokenRepository());
rememberMeServices.setAlwaysRemember(true);
return rememberMeServices;
}
@Bean
public PersistentTokenRepository persistentTokenRepository() {
JdbcTokenRepositoryImpl db = new JdbcTokenRepositoryImpl();
db.setDataSource(dataSource);
return db;
}