2011-06-09 62 views
3

我在web.xml中有以下:Jetty Maven插件8.0.0.M3是否支持所有的Servlet 3?

<session-config> 
    <cookie-config> 
    <http-only>true</http-only> 
    <secure>true</secure> 
    </cookie-config> 
    <session-timeout>15</session-timeout> 
    <tracking-mode>COOKIE</tracking-mode> 
</session-config> 

然而,根据OWASP的Zed的攻击代理(https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project),饼干仍然被设置由Spring Security w/o httpOnly或安全标志。

如果我在Tomcat 7中部署相同的应用程序,它看起来会遵守web.xml中的这些设置。

+1

想通了 - 我在错误的顺序的元素。没有来自Tomcat或Jetty的错误,但GlassFish抱怨并帮助我找到解决方案。 – 2011-06-09 17:55:37

+0

尽管request.getServletContext()。getEffectiveSessionTrackingModes()方法不能让Jetty 8尊重跟踪模式(使用Maven插件org.mortbay.jetty:jetty-maven-plugin:8.1.4.v20120524)只是COOKIE,如果我禁用cookie,我仍然会在URL中获得jsessionid。你明白了吗? – paulcm 2012-07-10 14:29:22

回答

0

解决方案:把要素按照正确的顺序:

<session-config> 
    <session-timeout>15</session-timeout> 
    <cookie-config> 
     <http-only>true</http-only> 
     <secure>true</secure> 
    </cookie-config> 
    <tracking-mode>COOKIE</tracking-mode> 
</session-config>