CookieUtils增加Cookie参数配置,SameSite可为空

This commit is contained in:
thinkgem
2023-03-07 10:42:12 +08:00
parent 71ed21c0a3
commit 07ac6b98b1
2 changed files with 7 additions and 3 deletions

View File

@@ -5,6 +5,7 @@
package com.jeesite.common.web;
import com.jeesite.common.codec.EncodeUtils;
import com.jeesite.common.io.PropertiesUtils;
import com.jeesite.common.lang.StringUtils;
import javax.servlet.http.Cookie;
@@ -58,10 +59,12 @@ public class CookieUtils {
if (StringUtils.isNotBlank(name)){
name = EncodeUtils.encodeUrl(name);
value = EncodeUtils.encodeUrl(value);
Cookie cookie = new Cookie(name, null);
Cookie cookie = new Cookie(name, value);
cookie.setPath(path);
cookie.setMaxAge(maxAge);
cookie.setValue(value);
PropertiesUtils props = PropertiesUtils.getInstance();
cookie.setSecure(props.getPropertyToBoolean("session.sessionIdCookieSecure", "false"));
cookie.setHttpOnly(props.getPropertyToBoolean("session.sessionIdCookieHttpOnly", "true"));
response.addCookie(cookie);
}
}

View File

@@ -71,7 +71,8 @@ public class FormFilter extends org.apache.shiro.web.filter.authc.FormAuthentica
rememberUserCodeCookie.setPath(Global.getProperty("session.sessionIdCookiePath"));
rememberUserCodeCookie.setSecure(Global.getPropertyToBoolean("session.sessionIdCookieSecure", "false"));
rememberUserCodeCookie.setHttpOnly(Global.getPropertyToBoolean("session.sessionIdCookieHttpOnly", "true"));
rememberUserCodeCookie.setSameSite(SameSiteOptions.valueOf(Global.getProperty("session.sessionIdCookieSameSite", "LAX")));
String sameSite = Global.getProperty("session.sessionIdCookieSameSite", "Lax"); // Null、None、Lax、Strict
rememberUserCodeCookie.setSameSite(!"Null".equalsIgnoreCase(sameSite) ? SameSiteOptions.valueOf(StringUtils.upperCase(sameSite)) : null);
rememberUserCodeCookie.setMaxAge(Cookie.ONE_YEAR);
instance = this;
}