您现在的位置是:首页 >技术杂谈 >Spring Security--自动登录网站首页技术杂谈
Spring Security--自动登录
也就是remember me
在配置链上加一个
然后发送请求时加上:remember-me字段
value值可以为,ture,1,on
我们记住登录后,关掉浏览器再打开,访问一下接口,可以访问,说明记住登录成功了。
因为有的接口可以支持rememberMe认证,有的接口不支持,用上图的方式做区别。
//禁止给url编码
org.springframework.security.web.session.DisableEncodeUrlFilter@3730ab42,
//异步管理器
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilte
r@537c8c7e,
//读取当前用户信息
org.springframework.security.web.context.SecurityContextPersistenceFilter@3f93e4a8,
//处理请求头
org.springframework.security.web.header.HeaderWriterFilter@2e2f720,
//注销
org.springframework.security.web.authentication.logout.LogoutFilter@2264e43c,
//用户认证的
org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@
3f1ddac2,
//请求缓存的
org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5445f5ba,
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@67
110f71,
//记住登录
org.springframework.security.web.authentication.rememberme.RememberMeAuthentication
Filter@455824ad,
//匿名访问
org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7308fff
f, org.springframework.security.web.session.SessionManagementFilter@7f572c37,
org.springframework.security.web.access.ExceptionTranslationFilter@1ffcf674, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@12010fd1
rememberMe还有一个key属性,当key设置了值的时候,即使服务端重启了也不用重新登录。
开启rememberMe之后,登陆成功,服务端会响应一个 rememberMe字符串回来:
YWRtaW46MTY4Nzc2ODQ5Nzk1NDpjZTM0YzQ2NWMzYzE4M2UwYjAwOTgxZmU1Zjg3Y2UxNg
base64解密完是
admin:1687768497954:ce34c465c3c183e0b00981fe5f87ce16
分三部分:用户名:时间戳:加密字符串(根据用户名+用户密码+时间戳+key加密的字符串)
以后每次请求,都会自动携带这个cookie。