不为上下文根请求发送Tomcat会话cookie

时间:2015-12-11 10:54:44

标签: tomcat servlets

我有一个网络应用程序,我喜欢基于时间的会话,因此刷新页面或在另一个选项卡上重新加载保持相同。 所以,在web.xml中我有:

KitchenRule kitchenRule;

    public KitchenChartView()
    {
        if (this.DataContext is KitchenRule)
        {
            this.kitchenRule = DataContext as KitchenRule;
        }
    }

根据我的上下文名称,cookie设置为适当的到期,其路径为/ app /。 现在,如果我向/ app /或/ app / main等URL发出请求,则会传递cookie。但是,/ app的根上下文路径不会发送cookie。即使我添加......

<servlet-mapping>
    <servlet-name>any</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

<session-config>
    <session-timeout>30</session-timeout> 
    <cookie-config>
        <name>sid</name>
        <max-age>1800</max-age>
    </cookie-config>
</session-config>

...在上面的cookie-config中,浏览器中的cookie路径与/ app /相同。 这种奇怪的行为有没有解决办法?

Apache Tomcat / 8.0.28

1 个答案:

答案 0 :(得分:1)

behvaiour并不奇怪,出于安全考虑,它是存在的。

行为也是可配置的,但请确保您了解更改默认值时的安全隐患。

配置是通过sessionCookiePathUsesTrailingSlashContext元素的server.xml属性进行的。有关详细信息,请参阅Context documentation