管理会话的jsessionid可以在模式cookie或URL模式下使用跟踪模式进行配置。
示例jsessionid模式cookie:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: es-ES,es;q=0.8,en;q=0.6
Cache-Control: max-age=0
Connection: keep-alive
Cookie: jsessionid=WuscHxD4eZCkPXDPubheV9MC.mbp-de-sadsad
Host: localhost:8080
User-Agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
示例jsessionid模式网址:
http://www.example.com/home;jsessionid=BB69F0DEF79877629096AFEFFB53D478
有没有办法配置或扩展wildfly的行为(8.0.1用于通过HTTP Header共享jsessionid?
我需要的例子:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: es-ES,es;q=0.8,en;q=0.6
Cache-Control: max-age=0
Connection: keep-alive
jsessionid: WuscHxD4eZCkPXDPubheV9MC.mbp-de-kdslsd
Host: localhost:8080
User-Agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
是否可以配置Wildfly(8.1.0 / 8.2.0)/ Undertow将jsessionid作为HTTP标头交换?
由于
答案 0 :(得分:0)
我很确定只有配置才能实现。你可以用代码来做。但是以可移植的方式访问sessionId-suffix是不可能的,因为它不是servlet规范的一部分。因此,当我遇到同样的问题时,我使用了负载均衡器的请求/响应重写功能。
sessionId后缀是" .mbp-de-kdslsd"部分。 Wildfly uses the jboss.node.name for this.
如果您想使用代码执行此操作,则应hook the sending of a response并添加标题there。可以使用@WebListener从HttpSessionListener获取sessionId。我不知道如何访问jboss.node.name属性,但我非常确定quickstart-samples会为您提供一些代码。