浅谈java后台处理同名cookie
最近开发过程中遇到了一个同名cookie的问题,目前是提示用户同名cookie,让他们通过自己清除浏览器达到清除同名cookie的目的。因为后台在未知path的情况下是删不了对应的cookie的,只能等他自动过期或者用户自己手动清除浏览器缓存
分析后有两种可能造成同名cookie
1、使用postman等工具写入cookie
2、子项目种了同名cookie(要去定位,去找)
Cookie[] cookies = request.getCookies();
if (ArrayUtils.isNotEmpty(cookies)) {
for (Cookie cookie : cookies) {
String cookieName = cookie.getName();
if (names.contains(cookieName)) {
//抛个异常
throw new MyException("用户:" + userName + " Cookie:" + cookieName + "重复");
}
names.add(cookieName);
}
}
场景如下:其中场景一为本人种的cookie,场景2为未知的cookie
场景 | 1 | 2 |
---|---|---|
域名 | A | A |
path | / | 未知,但不是根路径</ |