SpringSecurity入门《之RememberMe“记住我”功能》

RememberMe“记住我”功能

  • 在配置类中开启RememberMe功能:
@Override
protected void configure(HttpSecurity security) throws Exception {
     
     security.authorizeRequests()
             .......
             .and()
             .rememberMe() // 开启记住我功能
             ;
}
  • 页面上登录表单中增加一个 remember-me 参数:
<input type="check-box" name="remember-me"/>

上面的是内存版的,即服务器重启了就失效了,另外SpringSecurity还支持数据库持久化实现RememberMe:

  • 在配置类中开启令牌(TokenRepository)仓库功能:
@Override
protected void configure(HttpSecurity security) throws Exception {
     
     security.authorizeRequests()
             .......
             .and()
             .rememberMe() // 开启记住我功能
             .tokenRepository() // 开启令牌仓库
             ;
}
  • 配置jdbcTokenRepositoryImpl对象,用于自动创建仓库表和存储session数据:
<!-- 另外还需要配置一个jdbcTemplate的bean,这里就省略了 -->
<bean id="jdbcTokenRepositoryImpl" class="org.springframework.security.web.authentication.rememberme.JdbcTokenRepositoryImpl">
     <property name="dataSource" ref="dataSource"/>
     <property name="createTableOnStartup" value="true"/>
     <property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>

你可能感兴趣的:(java,spring,boot,spring,后端)