2.7 csrf、logout和rememberMe的设置
2.7 csrf、logout和rememberMe的设置
一、CSRF攻击
前提条件:用户已经登录正常站点
图示:

CSRF攻击
二、防止CSRF攻击的方式
生成CSRF Token:form表单中添加CSRF Token标签
在响应设置Cookie的SameSite属性:
private AuthenticationSuccessHandler jsonLoginSuccessHandler() { return(reqn resn auth) -> { // ... Collection<Striing> headers = response.getHeaders(HttpHeaders.SET_COOKIE); response.addHeader(HttpHeaders.SET_COOKIE, String.format("%s; %s", header, "SameSite=Strice")); }; }不支持IE浏览器
前后端分离因恶意人员不知道具体服务器地址,因此可以不配置
三、CSRF配置
可以设置开关
可以设置存储位置:session或cookie中
忽略那些url、方法(GET)
保护那些方法
四、Remember me功能
为解决session过期后用户的直接访问问题
SpringSecurity提供开箱即用的rememberMe配置
原理:使用Cookie存储用户名,过期时间,以及一个Hash
Hash:md5(用户名+过期时间+密码+key)
五、退出登录
logout配置
可以配置用户退出登录后对cookie,session,返回页面等设置
最后更新于