参考https://blog.csdn.net/lyh1994123/article/details/80083767
场景:测试环境有2个项目,登录一个项目后,另一个项目无法登录,提示token失效。
原因:cookies中的token参数覆盖失败,校验登录失败。
修复方式:需要设置path、domain来使得cookie覆盖生效
/**
*
* Description:保存token到cookie
*
* @param response
* @param token
* @throws UnsupportedEncodingException
*/
public static void setCookieToken(HttpServletResponse response, String token) {
Cookie cookie = null;
try {
cookie = new Cookie(userTokenCookieKey, URLEncoder.encode(token, "UTF-8"));
} catch (UnsupportedEncodingException e) {
cookie = new Cookie(userTokenCookieKey, token);
}
cookie.setMaxAge(3600 * 24 * tokenCookieMaxAge); // tokenCookieMaxAge 天
cookie.setPath("/");
if (StringUtil.isNotBlank(tokenCookieDomain)) {
cookie.setDomain(tokenCookieDomain);
}
response.addCookie(cookie);
}