session Speicherort - ID ändern

Status
Nicht offen für weitere Antworten.

maxxi

Bekanntes Mitglied
hello,

ich hätte 2 Fragen zu Sessions:

- wie und wo werden die Session-Daten abgespeichert? Per Default in einer txt-Datei? Kann man den Ort, wo die Daten abgespeichert werden, ändern?

Lt. Web Application: Servlets and Filters scheint es so, als würden Session-Daten überhaupt nicht (temporär) persistent gespeichert werden. Kann das sein? Liegen die Session-Daten nur im RAM?

Anscheinend gibt es den persistent-store-Typ "file". Wie kann man denn auf den umstellen??
Ich hätte jetzt so etwas gefunden:

Code:
<session-config use-persistent-store="true"/>

Allerdings: wie kann man hier einstellen, in welchem Medium (Datei, Datenbank, ...) gespeichert werden soll?? Geht das vielleicht irgendwie hiermit:?

Code:
<persistent-store type="file">
???
</persistent-store>

Kommt das noch zum session-config hinzu?

- kann man die ID einer Session ändern, ohne dass die Session-Daten irgendwie verändert werden?

Auf Interface javax.servlet.http.HttpSession gibts keine Infos dazu.
 
Zuletzt bearbeitet:

HLX

Top Contributor
Lt. Web Application: Servlets and Filters scheint es so, als würden Session-Daten überhaupt nicht (temporär) persistent gespeichert werden. Kann das sein?
Sicher. Persistierung wäre sicherheitskritisch. Es ist durchaus gewollt, dass Sitzungsdaten nach einer gewissen Zeit zu 100% vom System verschwinden, damit kein Missbrauch mit den Daten erfolgt. Für die relativ kurze Lebensdauer der Sitzung macht eine Persistierung keinen Sinn und würde nur zusätzliche Probleme schaffen.

- kann man die ID einer Session ändern, ohne dass die Session-Daten irgendwie verändert werden?
Wozu willst dir das antun? Der Servlet Container erzeugt für dich automatisch eine eindeutige Session-ID.
 

maxxi

Bekanntes Mitglied
Ich versuche eine Schnittstelle zu PHP zu generieren. Sodass dann auch PHP mit den Session-Daten von JSP arbeiten kann. Und in PHP werden per Default alle Session-Daten (temporär!) persistent in txt-Dateien abgelegt (eine Garbage Collection kümmert sich dann darum, veraltete Session-Dateien zu löschen). Dort kann man auch die Session-ID ändern, ohne die Daten angreifen zu können. Die ID bei jedem Request zu ändern kann man im PHP aus Sicherheitsgründen machen.
 

Noctarius

Top Contributor
Was du willst heißt SSO (Single-Sign-On).
Entweder greifst du hierbei auf fertige Lösungen zurück (Google sollte da helfen) oder du baust in Java einen Miniwebservice welcher von PHP abgefragt werden kann. Einer PHP-Seite musst du dann nur eine eindeutige Id mitgeben, mit welcher sich PHP gegenüber Java identifizieren kann und zeigt "ja ich darf auf die Daten von XYZ zugreifen, also gib her".
Um die Datenübertragung musst du dich allerdings in diesem Falle selbst kümmern.

PS: Wie willst du denn von PHP auf persistierte Java Objekte zugreifen? ;-) ObjectOutputStream ist da nicht gerade lesefreundlich unterwegs.
 

maxxi

Bekanntes Mitglied
baust in Java einen Miniwebservice welcher von PHP abgefragt werden kann
Ich vermute, du meinst die PHP-Java-Bridge. Die kenn ich schon.

Wie willst du denn von PHP auf persistierte Java Objekte zugreifen?
Mit "persistierte Java Objekte" meinst du wohl die Session-Daten. Ich vermute mal, dass diese serialisiert abgespeichert werden. Die Frage wäre dann als nächstes aufgetaucht. Aber ich würde gerne einen Schritt nach dem anderen machen. Der Weg ist das Ziel :)

Jetzt würde ich mal gerne erfahren, wie JSP mit Session-Daten umgeht. Werden die per Default im RAM abespeichert? Wie könnte ich sie in einer Text-Datei speichern?
 
Zuletzt bearbeitet:

Noctarius

Top Contributor
Nein ich rede nicht von einer PHP-Java-Bridge, sondern von einem WebService in Java, den du von PHP aus ansprechen kannst um Daten zu erfragen (z.B. eben gewisse Sessiondaten)
 

maxxi

Bekanntes Mitglied
WebService in Java, den du von PHP aus ansprechen kannst um Daten zu erfragen (z.B. eben gewisse Sessiondaten)
Hört sich wirklich sehr interessant an! Kennst du den Namen dieses Services? Oder kennst du den Namen einer seiner Klassen? Oder hast du zufällig eine URL bei der Hand, wo dieser Service beschrieben ist?

Meinst du etwa Sockets? Dass ich dann in PHP via Socketverbindung die Session-Daten abfragen kann (JSP Socket-Server, PHP Socket-Client ... wäre das überhaupt möglich)?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Gleiche Session von EJB Container in JSF Container verwenden? Web Tier 21
R Session löschen Web Tier 3
J Session ist nach Klick auf Zurück-Button wieder aktiv Web Tier 3
jann Servlet Bei jedem Request wird eine neue Session erstellt. Web Tier 6
J Session Servlet - JavaScript Web Tier 6
M Session closed - und nun? Web Tier 1
F JSF synchronized(session) Frage ? Web Tier 1
F JSF p:selectOneMenu Session Web Tier 10
T JSF Problem wenn Session abgelaufen ist Web Tier 6
Q JSF bei Session-Timeout Weiterleitung auf spezielle Login-Seite Web Tier 15
D JSF Überprüfen der Session ID in JSF und JAVA Web Tier 9
R Servlet Resource laden für SMTP - Session Web Tier 4
B JSF Mojarra 2.1.5: java.lang.IllegalStateException: Cannot create a session after the response has been Web Tier 7
R JSF Session Handling Web Tier 3
X JSP Auslesen der Daten einer Session Web Tier 3
X Managed Bean Scope zwischen Request und Session gesucht Web Tier 6
crashfinger JSP Session verloren bei DNS Servernamen & IE Web Tier 6
C session trackung auf einfacher web-site Web Tier 17
F JSF Session-Kolision Web Tier 3
R Zugriff auf Session direkt auf JSF-Seite Web Tier 2
H JSF Session Initialisierung Web Tier 2
E JSP Browser Tab Session Web Tier 7
F Session Tutorial Web Tier 5
T JSP Session Login - Sicherheit Web Tier 4
J Loginbereich mit Session und Datenbank Web Tier 5
M 2 Cookies in der session (cocoon 2.2) Web Tier 4
F Richtiges Session Management mit Servlets Web Tier 4
P JSP: Liste in Bean über Session aufbauen Web Tier 6
7 Struts+AJAX- Session-Handling? Web Tier 2
B JSF session bean mit worker thread updaten Web Tier 7
J Crash bei session timeout Web Tier 3
V ANFÄNGER : eigene Session Web Tier 3
V DatenbankConnection an Session hängen Web Tier 4
P session.removeAttribute Web Tier 3
K Orientierungslosigkeit: Webservice+Ajax(echo2)+Session-Management Web Tier 4
O struts - Gültigkeit einer Action an Session binden?! Web Tier 4
D JSF: Best Practice "Session invalidate nach Schließen des Browsers"? Web Tier 3
T Unbegrenzte Session Web Tier 14
D tapestry 5 session Web Tier 2
J Struts 2 session ID auslesen? Web Tier 5
M [J2EE] Session-Save Static-Objects? Web Tier 6
S Problem mit Session - Übergabe von Kontext zu Kontext Web Tier 2
F JSF: Beans in Session oder Request? Web Tier 4
H JSF - Bean (scope session) - Verfallsdatum? Web Tier 3
T Problem bei Session-Timeout Web Tier 3
M JSF refresh vs. session scope Web Tier 9
G Session in Servlet Starten und mit JSTL auslesen Web Tier 2
G Servlet - Von Parametern umstellen auf Session Web Tier 8
G jsf session erstellen Web Tier 10
rambozola session attribut in servlets und jsps Web Tier 11
M JSF session.invalidate() klappt nicht Web Tier 3
G Session.invalide() funktioniert nicht richtig Web Tier 2
E File upload mit jsp (frage zum speicherort) Web Tier 12
K Wicket: Pfad zu HTML Dateien ändern/erweitern Web Tier 2
H JSF JSF 2.0 (Primefaces) commandLinks mit action="mypage.xhtml" ohne die URL im Browser zu ändern Web Tier 8
J seam 2 sprache ändern Web Tier 3
M JSF Attribute von Komponenten aus ManagedBeans ändern? Web Tier 4
Bastie Locale ändern per uRL Web Tier 4
S Style bei fehlerhafter Eingabe (Bean Validation) ändern Web Tier 2
S Struts - Http Port ändern Web Tier 11
E Größe bei bufferedImages ändern Web Tier 4

Ähnliche Java Themen

Neue Themen


Oben