Red de conocimiento informático - Material del sitio web - Cómo modificar el nombre jsessionid

Cómo modificar el nombre jsessionid

1. Método de modificación de Tomcat5

Agregue el parámetro org.apache.catalina.SESSION_COOKIE_NAME en el elemento de inicio

linux

JAVA_OPTS='-Dorg.apache.catalina SESSION_COOKIE_NAME=yousessionname'

win

Set JAVA_OPTS='-Dorg.apache.catalina.COOKIE_NAME=yousessionname"

2. El método de modificación para Tomcat6 y tomcat7 es el mismo

Agregue el parámetro sessionCookieName a la etiqueta del contenedor Context

lt;Context path="/" docBase="webapp" reloadable="false" sessionCookieName="yoursessionname" gt;lt;/ Contextgt;

3.¿Por qué es bueno?

Tomcat5 es efectivo para todos los contextos al agregar parámetros y el impacto es muy grande, por lo que solo se configura para futuras versiones de Context

El código fuente de Tomcat5 es el siguiente

Clase pública final Globals

/**

* Cookie se utiliza para pasar identificadores de sesión de un lado a otro al nombre del cliente

*

*/

cadena final estática pública SESSION_ COOKIE_NAME =

System.getProperty("org.apache. catalina.SESSION_COOKIE_NAME",

" JSESSIONID");

Los códigos fuente de Tomcat6 y Tomcat7 son básicamente los mismos, como se muestra a continuación

clase pública StandardContext

....lt;codegt;nulllt;/codegt;representado

*El nombre viene dado por

*/

private String sessionCookieName;

/**

*Obtener el nombre utilizado para la cookie de sesión

*

*

* @ @ Devuelve el valor del nombre de la cookie de sesión predeterminada, si no se especifica

*, devuelve nulo

*/* *

public String getSessionCookieName() {

return sessionCookieName;

}

/**

* Establezca el nombre de la cookie de sesión. Anule cualquier configuración que la aplicación pueda especificar.

*

* @param sessionCookieName El nombre a utilizar

*/

public void setSessionCookieName(String sessionCookieName) {

Cadena oldSessionCookieName = this.sessionCookieName;

this.sessionCookieName = sessionCookieName;

support.firePropertyChange("sessionCookieName",

oldSessionCookieName, sessionCookieName) ;

}