近期Chrome更改了SameSite属性的默认值,导致跨域网站中出现了一些提示:
解决办法如下:
我的网站实际上有两个部分组成,前端和后端。其实这个SameSite属性是在Response中设置的,如果使用了SSM框架,则在注解的有@Controller的类中添加一个函数:
@ModelAttribute
public void setReqAndRes(HttpServletRequest request,HttpServletResponse response) {
response.setHeader("Set-Cookie", response.getHeader("Set-Cookie")+";SameSite=strict");
}
这样,每一个前段Request的到来,都会执行一遍setReqAndRes(这是这个@ModelAttribute起的作用),而在这个函数里又设置了SameSite的属性,从而达到我们所期望的效果