SpringSecurity详细介绍RememberMe源码流程

  本文我们来详细看看rememberMe的源码流程

rememberMe源码分析

  首先我们要搞清楚rememberMe功能应该是在认证成功后才能具有的,所以我们应该从UsernamepasswordAuthenticationFilter中去分析
SpringSecurity详细介绍RememberMe源码流程
找到对应的doFilter方法

SpringSecurity详细介绍RememberMe源码流程
认证成功后开始rememberMe的处理
SpringSecurity详细介绍RememberMe源码流程

SpringSecurity详细介绍RememberMe源码流程
进入AbstractRememberMeServices中查看
SpringSecurity详细介绍RememberMe源码流程
表单提交的 参数名
SpringSecurity详细介绍RememberMe源码流程
rememberMeRequested方法:判断是否开启RememberMe功能

SpringSecurity详细介绍RememberMe源码流程

再进入onLoginSuccess方法

SpringSecurity详细介绍RememberMe源码流程

SpringSecurity详细介绍RememberMe源码流程
进入PersistentTokenBasedRememberMeServices中查看具体实现

SpringSecurity详细介绍RememberMe源码流程

总结:通过上面的代码分析我们发现,当认证成功后会判断我们是否勾选了 记住我 按钮,如果勾选了那么会将认证信息封装到对应的token中,同时会将该token信息保存到数据库和cookie中。