Moin!
Ein User mach Einstellungen in der App, diese werden in der Session gespeichert. Nun klickt er Ausführen und im Hintergrund kopiert der Server ca. für 20min Daten etc... das ganze wird anhand eines Fortschrittslogs angezeigt. Wenn nun in diesem Fall aber die Session von einer anderen Station aus übernommen wird, darf dieser Vorgang nicht unterbrochen werden (wie du erwähnt hast wegen der Daten integrität). Darum muss ich erkennen ob er bereits im gange ist oder nicht.
Meine Lösung. Ich kenne die SID des eingeloggten benutzers. Wenn ich mich also erneut einlogge, lese ich das SID file kopiere die darin enthaltenen Daten in mein eigenes Sessionfile. So klone ich die Session. Etwas hässlich aber naja geht. Ich nehme nicht an, dass es so eine art frendly hijacking session Funktion gibt?
Das Problem ist, dass du irgendein noch nicht näher definiertes Problem zu lösen hast, und die einzige dir eingefallene Lösung ist die mit Sessions. Daraus resultiert jetzt das Problem, diese vorgefertigte Lösung soweit auszubauen, dass all die Nebenbedingungen (nur ein Client einloggbar, Session auf anderen Browser mitnehmbar) drangestrickt werden müssen, obgleich das nicht das natürliche Verhalten einer Session ist.
Du solltest noch mal einen Schritt zurückgehen und deine Lösungsidee "Session" hinterfragen. Dazu solltest du vielleicht nochmal ausführlicher beschreiben, was das System denn tatsächlich so tun soll. Denn es scheint mir, dass du Dinge mischst, die besser nicht gemischt werden sollten.
- Sven Rautenberg
"Love your nation - respect the others."