1、securityConfig配置

注意如果配置:

.authenticationSuccessHandler(successHandler)

则http.formLogin()这配置

.loginProcessingUrl("/platform/loginForm")与.authenticationSuccessHandler(successHandler)重定向不能一致不然会陷入死循环,这个坑会踩了两个小时

2、持久化数据库存储Token

@Bean
public PersistentTokenRepository persistentTokenRepository(){
     JdbcTokenRepositoryImpl tokenRepository = new JdbcTokenRepositoryImpl();
     tokenRepository.setDataSource(dataSource);
     // 如果token表不存在,使用下面语句可以初始化该表;若存在,请注释掉这条语句,否则会报错。
    //tokenRepository.setCreateTableOnStartup(true);
    return tokenRepository;
 }

数据库CREATE TABLE `persistent_logins` (
  `username` varchar(64) NOT NULL,
  `series` varchar(64) NOT NULL,
  `token` varchar(64) NOT NULL,
  `last_used` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`series`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐