Hi Michael,
Momentan noch (solange das die einzige Installation ist).
Aber das SelfForum soll sich bezüglich Quelltext in nichts von dem
unterscheiden, was bei SourceForge allgemein verfügbar ist, d. h. von
SELF gewünschte Features werden üblicherweise Konfigurations-Parameter
zum Ein- bzw. Ausschalten derselben bewirken. (Das geht in den ebenfalls
in XML realisierten Konfigurationsdateien sehr elegant.)
Ich weiß. Das lerne ich auch gerade ;-))
Nun, Du könntest auf dem Server beim Login / Erstzugriff eine eindeutige
Session-ID vergeben und an den Client übertragen (Cookie, CGI-URL, ...).
Jeder Request mit dieser ID würde ein keepalive-Signal zum Server senden
- stell Dir vor, Du hast dort in /tmp eine Datei mit dem Namen dieser
Session-ID und machst bei jedem CGI-Aufruf ein "touch" darauf, als eine
ganz einfache Art der Implementierung.
Parallel dazu läuft auf dem Server ein daemon, der periodisch alle
SessionID-Dateien löscht, die älter sind als ein definiertes Zeitintervall
- das wäre das "automatische logout".
Ein nachfolgender Request mit dieser ID würde dann (z. B. per URL-
Redirection) ein neues Login erzwingen.
Du wüßtest also nicht, wer wirklich online ist, aber Du wüßtest, wer sich
bisher an die Spielregeln gehalten hat ... und deshalb *wahrscheinlich*
noch online ist. Und alles liefe über HTTP.
OK, jetzt bin ich total verwirrt.
Das, was Du mir erklärtest, ist doch Session-Tracking, Cookie-basiert oder eben über encodierte URLs, welche dann zusätzlich eine SessionID enthalten. Und nichts anderes macht die Servlet-API (mit dem Unterschied, dass das Handling komplett im Speicher erfolgt). Ich setze einen Timeout-Wert in der server.xml von Tomcat, alle registrierten Sessions werden nach Überschreitung dieses Zeitwertes seit dem letzten Request gelöscht bzw. invalidiert. Erfolgt erst danach ein Neuzugriff, muss ein ReLogin erfolgen.
Aber genau das, so verstand ich zumindest n.d.p., war nicht die erwartete Antwort auf seine Frage.
Was mich aber noch interessiert: Wie soll ich das mit dem keepalive-Signal verstehen? Meinst Du damit den HTTP-Header Parameter? Und, ist der Zweck Performanceoptimierung, also der Hinweis an den Server, nur bei Empfang eines solchen Signals üperhaupt in /tmp nach einer entsprechenden Cookie-Datei zu suchen?
Viele Grüße,
Martin