【问题标题】:How to get jetty to send jsessionid-cookies with the secure-flag when using a secure channel使用安全通道时如何让码头发送带有安全标志的 jsessionid-cookies
【发布时间】:2010-06-14 14:53:10
【问题描述】:

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

Tomcat 在 jsessionid-cookie 上设置安全标志,当它通过安全通道 (https) 发送它时,这对我来说是个好主意,因为它可以防止会话在用户点击时被暴露在http://-link 上。但码头不是这样!

我想强制 Jetty 表现得像 Tomcat,并且总是在 jsessionid-cookies 通过安全通道发送时设置安全标志,因为否则,我的测试环境的行为与我的生产环境有很大不同。但我找不到任何配置选项来实现这一点。

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

【问题讨论】:

    标签: security tomcat cookies encryption jetty


    【解决方案1】:

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

    将以下内容放入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>
    

    【讨论】:

      【解决方案2】:

      可以将设置secureCookies属性所需的配置更改添加到jetty-web.xml文件中:

      <Get name="sessionHandler">
        <Get name="sessionManager">
          <Set name="secureCookies">true</Set>
        </Get>
      </Get>
      

      【讨论】:

        猜你喜欢
        • 2014-05-04
        • 2019-06-25
        • 1970-01-01
        • 2019-11-21
        • 2020-09-15
        • 2014-11-08
        • 1970-01-01
        • 1970-01-01
        • 2011-12-12
        相关资源
        最近更新 更多