五分钟带你玩转SpringSecurity(七)带你优雅的实现记住我功能

举报
小鲍侃java 发表于 2021/09/10 00:34:48 2021/09/10
【摘要】 记住我是登录常用功能 即登录一次过一段时间免登录 SpringSecurityConfig dataSource,jdbcTokenRepository,configure后三行为记住我配置 同时提供了一个persistent_logins表作为记住我功能的记录(会自动生成) @EnableWebSecuritypublic cl...

记住我是登录常用功能 即登录一次过一段时间免登录

SpringSecurityConfig

dataSource,jdbcTokenRepository,configure后三行为记住我配置 同时提供了一个persistent_logins表作为记住我功能的记录(会自动生成)


  
  1. @EnableWebSecurity
  2. public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
  3. @Autowired
  4. DataSource dataSource;
  5. /**
  6. * 记住我功能
  7. *
  8. * @return
  9. */
  10. @Bean
  11. public JdbcTokenRepositoryImpl jdbcTokenRepository() {
  12. JdbcTokenRepositoryImpl jdbcTokenRepository = new JdbcTokenRepositoryImpl();
  13. jdbcTokenRepository.setDataSource(dataSource);
  14. return jdbcTokenRepository;
  15. }
  16. @Override
  17. protected void configure(HttpSecurity http) throws Exception {
  18. // 验证码过滤器
  19. http.addFilterBefore(imageCodeValidateFilter, UsernamePasswordAuthenticationFilter.class)
  20. // 跳转前台的地址
  21. .formLogin().loginPage("/loginPage")
  22. // 登录调用的接口地址
  23. .loginProcessingUrl("/login").successHandler(customAuthenticationSuccessHandler)
  24. // 无权限允许访问
  25. .and().authorizeRequests()
  26. .antMatchers("/login", "/loginPage", "/code/image", "/logout/expirePage", "/logout/page",
  27. "/oauth/logoutSession", "/oauth/customLogout")
  28. .permitAll().anyRequest().authenticated()
  29. // 记住功能配置
  30. .and().rememberMe()
  31. .tokenRepository(jdbcTokenRepository()) // 保存登录信息
  32. .tokenValiditySeconds(60 * 30 * 30); // 记住我有效时长
  33. }
  34. }

 

文章来源: baocl.blog.csdn.net,作者:小黄鸡1992,版权归原作者所有,如需转载,请联系作者。

原文链接:baocl.blog.csdn.net/article/details/113753749

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。