From 8dfc4c837cf99f93ef53b6f8eca40221aeb658a9 Mon Sep 17 00:00:00 2001 From: click33 <2393584716@qq.com> Date: Thu, 22 Jun 2023 08:54:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B7=A8=E5=9F=9F=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E4=B8=8B=E6=B3=A8=E9=94=80=E6=97=A0=E6=B3=95=E5=BD=BB?= =?UTF-8?q?=E5=BA=95=E5=88=A0=E9=99=A4=20Cookie=20=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/dev33/satoken/stp/StpLogic.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java index 2e6fc52d..f7467f66 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java @@ -604,8 +604,19 @@ public class StpLogic { // 2、如果打开了 Cookie 模式,则先把 Cookie 数据清除掉 if(getConfigOrGlobal().getIsReadCookie()){ - SaCookieConfig cookie = getConfigOrGlobal().getCookie(); - SaHolder.getResponse().deleteCookie(getTokenName(), cookie.getPath(), cookie.getDomain()); + SaCookieConfig cfg = getConfigOrGlobal().getCookie(); + SaCookie cookie = new SaCookie() + .setName(getTokenName()) + .setValue(null) + // 有效期指定为0,做到以增代删 + .setMaxAge(0) + .setDomain(cfg.getDomain()) + .setPath(cfg.getPath()) + .setSecure(cfg.getSecure()) + .setHttpOnly(cfg.getHttpOnly()) + .setSameSite(cfg.getSameSite()) + ; + SaHolder.getResponse().addCookie(cookie); } // 3、然后从当前 Storage 存储器里删除 Token