Wie wird eine SessionID generiert?

8

Beim Ausführen einer Java-Webanwendung mit der Servlet-API (wie JSF- oder JSP-Seiten) wird irgendwo entlang der Zeile eine 'eindeutige' SessionID generiert, um die Benutzersitzung zu identifizieren.

Ich frage mich, wie diese SessionIDs generiert werden. Umfassen sie die IP des Kunden? Ein Zeitstempel? Zufallszahlen?

Zweitens frage ich mich, wo diese Generation passiert? Ist dies abhängig von dem Server, auf dem die Anwendung ausgeführt wird?

    
Steven De Groote 11.10.2012, 09:06
quelle

3 Antworten

6

Es ist containerspezifisch. Tomcat: Ссылка

    
Aleksandr M 11.10.2012, 09:15
quelle
3

Ссылка

"Der Bezeichner wird vom Servlet-Container zugewiesen und ist implementierungsabhängig."

Die jsessionid wird immer dann generiert, wenn eine neue Sitzung erstellt wird.

    
dvsander 11.10.2012 09:11
quelle
3

Normalerweise wird ein java.security.MessageDigest -Algorithmus verwendet.

Normalerweise ist die generierte ID nur ein Satz von Zufallszahlen, bis zur erforderlichen Länge, aber sie variiert je nach den in den verschiedenen Servlet-Containern verwendeten Algorithmen.

Betrachten Sie in Tomcat6 zum Beispiel:

%Vor%

und

%Vor%

Siehe Ссылка

    
Nic 11.10.2012 09:25
quelle

Tags und Links