首页 文章

如果不接受cookie,则配置WildFly / Undertow将JSESSIONID放在URL上

提问于
浏览
4

我们之前使用过JBoss 7.1.2,并且如果不接受cookie或者请求中没有JSESSIONID cookie,则使用JSESSIONID作为后备的行为作为后备 .

迁移到WildFly 8.2.0 / Undertow 1.1.0后,此URL重写不会发生 .

是否可以配置WildFly / Undertow将JSESSIONID作为后备放在URL上?我们知道将session-config放在_1515167中的可能性,例如:

<session-config>
  <tracking-mode>URL</tracking-mode>
</session-config>

但我们只希望将URL上的JSESSIONID作为后备解决方案 .

1 回答

  • 8

    要使用基于cookie的会话跟踪(如果可用)和基于URL的会话跟踪作为后备,您应该像这样配置部署描述符 web.xml

    <web-app ...>
      <session-config>
        <tracking-mode>COOKIE</tracking-mode>
        <tracking-mode>URL</tracking-mode>
      </session-config>
    </web-app>
    

    注意,您至少需要servlet 3.0规范!

    不幸的是,Wildfly / Undertow中有一个bug (UNDERTOW-396)可以防止使用后备版 . 该错误已被标记为Undertow 1.2.0-Beta10已修复,但Wildfly 8.1.0.Final和8.2.Final都使用旧版本 . 因此,目前您可能需要在Wildfly安装中更新Undertow才能获得修复 .

    这是关于这个主题的另一个有用的blog-post .

    Update :Wildfly 9.0.2.Final使用Undertow 1.2.9,所以这应该再次工作(尚未测试) .

相关问题