在使用安全通道时,如何让jetty使用secure-flag发送jsessionid-cookies

Kai*_*itz 6 security encryption cookies tomcat jetty

我在我的生产环境中使用Tomcat,在我的测试环境中使用jetty(通过jetty-maven-plugin).

Tomcat在jsessionid-cookie上设置安全标志,当它通过安全通道(https)发送时,对我来说这看起来是个好主意,因为当用户点击http时它会阻止会话暴露:// - 链接.但Jetty不是这样!

我想迫使码头的行为,如Tomcat,始终设置安全标志上JSESSIONID饼干送过来的安全通道,因为否则的话,我的测试环境的行为相当不同势,然后我的生产环境.但我找不到任何配置选项来实现这个目标.

我也想知道,如果这是Jetty中的安全漏洞.因为没有标记jsessionid-cookie通过安全通道发送,因为安全会在用户切换回不安全通道时显示安全会话.

Cha*_*ton 4

我添加以下内容只是为了展示对我有用的完整示例。

将以下内容放入 WEB-INF/jetty-web.xml 中

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <Get name="sessionHandler">
        <Get name="sessionManager">
            <Set name="secureCookies" type="boolean">true</Set>
        </Get>
    </Get>
</Configure>
Run Code Online (Sandbox Code Playgroud)