You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Servlet或配置文件为Weblogic的JSESSIONID添加SameSite=Strict属性

解决方案汇总

方案1:通过Servlet过滤器手动修改Set-Cookie响应头(全版本兼容)

这是兼容性最高的方案,不受Weblogic版本限制,实现逻辑如下:

  • 新建Filter类,拦截所有请求,在响应返回前匹配JSESSIONID的Set-Cookie头,追加SameSite属性
    示例代码:
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Collection;

public class SameSiteCookieFilter implements Filter {
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse resp = (HttpServletResponse) response;
        chain.doFilter(request, resp);
        // 匹配JSESSIONID的Cookie头
        Collection<String> headers = resp.getHeaders("Set-Cookie");
        resp.resetBuffer(); // 清空原有Set-Cookie头
        for (String header : headers) {
            if (header.startsWith("JSESSIONID") && !header.contains("SameSite")) {
                header += "; SameSite=Strict";
            }
            resp.addHeader("Set-Cookie", header);
        }
    }
}
  • 在web.xml中注册过滤器,确保优先级最高,拦截所有请求:
<filter>
    <filter-name>SameSiteCookieFilter</filter-name>
    <filter-class>com.yourpackage.SameSiteCookieFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>SameSiteCookieFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

方案2:Weblogic 12.2.1.4及以上版本原生配置

如果你的Weblogic版本在12.2.1.4及以上,weblogic.xml的配置要放在正确的节点下才会生效,正确配置如下:

<session-descriptor>
    <cookie-properties>
        <property>
            <name>CookieSameSite</name>
            <value>Strict</value>
        </property>
        <property>
            <name>HttpOnlyCookieEnabled</name>
            <value>true</value>
        </property>
    </cookie-properties>
</session-descriptor>

注意:配置完成后需要重启Weblogic域,清除浏览器缓存后再验证,避免缓存的旧Cookie干扰测试

方案3:Weblogic全局域配置(无需修改应用代码)

如果需要对域内所有应用生效,可以直接修改域配置:

  1. 进入Weblogic控制台,依次点击 域 > 服务器 > 你的服务名 > 服务器启动
  2. 在参数输入框追加JVM启动参数:-Dweblogic.http.cookie.SameSite=Strict
  3. 保存配置后重启服务即可生效

验证方法:发起首次请求后查看响应的Set-Cookie头,确认返回格式为Set-Cookie: JSESSIONID=xxx; path=/; HttpOnly; SameSite=Strict即配置成功

内容的提问来源于stack exchange,提问作者danish khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:27:00