刚跑起来的博客系统,登录经常超时,发现是 login 后添加 cookie 没有成功,抛了异常
依赖的 latke 框架的 session 实现方式如下:
try {
JSONObject cookieJSONObject = new JSONObject();
cookieJSONObject.put("userEmail", user.optString("userEmail"));
cookieJSONObject.put("userPassword", user.optString("userPassword"));
Cookie cookie = new Cookie("b3log-latke", cookieJSONObject.toString());
cookie.setPath("/");
cookie.setMaxAge(31536000);
response.addCookie(cookie);
} catch (Exception var6) {
LOGGER.log(Level.WARN, "Can not write cookie", var6);
}
查了下貌似 tomcat8 之后 Cookie 的值不能包含 "," " " 之类的字符。这里提供了 spring boot 的一种 hack 方式,然而并没有尝试是否可行。
但是看起来这个问题是需要修改下存储的 value 值,不要包含上面的特殊字符,貌似也只能 latke 来解决了,这里说是会解决的,好像并没有。木有想到还能有啥方式。要是过两天还没找到方案,小弟准备把 session 自己整一个,替换掉框架自己的 session 得了。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于