
Spring Security RememberMe
coding二月 14, 20161mins
Spring Security
Remember-Me接口和实现H2
bash
Authentication autoLogin(HttpServletRequest request, HttpServletResponse response);void loginFail(HttpServletRequest request, HttpServletResponse response);void loginSuccess(HttpServletRequest request, HttpServletResponse response,Authentication successfulAuthentication);
Remember-me是和UsernamePasswordAuthenticationFilter一起使用的,通过其父类AbstractAuthenticationProcessingFilter中的钩子来触发回调来实现用户信息的保存。
TokenBasedRememberMeServicesH3
这个实现是通过把用户名和密码进行哈希,然后将生成token值写入Cookies。Cookie的key值同时会被authentication provider共享,以用来进行登录的验证。
PersistentTokenBasedRememberMeServicesH3
这个实现使用起来是和TokenBasedRememberMeServices类似的,只是他不是根据用户名和密码进行哈希,而是生成一个随机的值,然后通过PersistentTokenRepository保存起来。
配置Remember-MeH2
Remember-Me的请求参数,生效时间等等都是在AbstractRememberMeServices中定义的,通过RememberMeConfigurer来配置Remember-Me。
Remember-Me默认的请求参数是”remember-me”,有效时间两周。
bash
public static final String DEFAULT_PARAMETER = "remember-me";public static final int TWO_WEEKS_S = 1209600;
评论
新的评论
上一篇
Spring Security的WebSecurityConfiguration配置及初始化流程
基于源码的流程分析 下面的源码基于 Spring Security 4.0.3 版本。 入口 WebSecurityConfiguration WebSecurityConfiguration 的目的是配置 WebSecurity 来创建 FilterChainProxy 这里…
下一篇
Spring Security CSRF
Spring Security可以保护应用免收Cross Site Request Forgery (CSRF)的攻击。 什么是CSRF 假设你的银行网站提供如下的表单进行转账 现在假设你登陆了银行的网站,然后没有登出,访问了一个恶意网站,恶意网站有这么一个表单 并且你点了这个…
