SessionIdGenerator 组件

目录

简介

SessionIdGenerator 元素表示用于创建 Web 应用程序 HTTP 会话使用的会话 ID 的会话 ID 生成器

SessionIdGenerator 元素可以嵌套在 Manager 组件中。如果未包含,将自动创建默认的 SessionIdGenerator 配置,这足以满足大多数要求,— 有关此配置的详细信息,请参阅下面的标准 SessionIdGenerator 实现

属性

通用属性

SessionIdGenerator 的所有实现都支持以下属性

属性 说明
className

要使用的实现的 Java 类名。此类必须实现 org.apache.catalina.SessionIdGenerator 接口。如果未指定,将使用标准值(如下定义)。

jvmRoute

此 Tomcat 实例的路由标识符。它将添加到会话 ID 中,以允许负载均衡器进行无状态粘性路由。jvmRoute 将如何包含在 ID 中的详细信息取决于实现。有关默认行为,请参见 标准实现

注意 - 此属性的值会自动从 Engine 元素的 jvmRoute 属性中继承。

sessionIdLength

此 SessionIdGenerator 创建的会话 ID 的长度。sessionIdLength 如何影响会话 ID 长度的详细信息取决于实现。有关默认行为,请参见 标准实现

标准实现

Tomcat 为使用提供 SessionIdGenerator 的标准实现。

标准 SessionIdGenerator 实现

SessionIdGenerator 的标准实现是 org.apache.catalina.util.StandardSessionIdGenerator。它支持以下属性

属性 说明
jvmRoute

此 Tomcat 实例的路由标识符。它将被添加到会话 ID 的末尾,用“.”分隔。

sessionIdLength

此 SessionIdGenerator 创建的会话 ID 的长度。更准确地说,会话 ID 长度是 sessionIdLength 值的两倍,加上给定的尾随 jvmRoute 的长度。系数 2 是因为会话 ID 是使用 sessionIdLength 随机字节构建的,每个字节在实际 ID 中都用两个十六进制字符编码。默认值为 16。