Fremde Session schliessen

nafets

Mitglied
Hallo

Ich habe eine Benutzerverwaltung und ein System mit Arbeitskontos. Nun muss ich die Möglichkeit haben eine fremde Session zu schliessen.

Wenn der Kunde sich anmeldet wird dessen Session in die DB eingetragen.

So weiss ich welcher Kunden welche Session hat. Wie kann ich diese jetzt abschiessen?

Habe schon so was probiert!

mySession = Request.QueryString("S")

Session.Abandon("" & mySession & "")

Aber das nicht. Sei keine Auflistung meint die Fehlermeldung.

Geht das überhaupt mit ASP oder gibt es eine andere Möglichkeit?

Gruss
 

Luzie

Erfahrenes Mitglied
Hi,

Session.Abandon ist ein Befehl und kann meines Wissens nicht auf eine bestimmte Session festgelegt werden, er löscht Dir alle Sessions, wenn dieser ausgeführt.

Wenn Du eine einzelne löschen möchtest, dann mit

session.Contents.Remove("sessionname")

Kleines Beispiel zum Testen

Code:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<% session("test1")="testen1" %>
<% session("test2")="testen2" %>
<% session("test3")="testen3" %>
<% session.Contents.Remove("test3") %> <!--zum testen mit "'" aktivieren bzw. deaktivieren-->
<body>
<%=session("test1") %><br>
<%=session("test2") %><br>
<%=session("test3") %><br>
<% if session("test3")="" then
response.write "jetzt ist es weg"
else
response.write "jetzt ist es da"
end if %>
</body>
</html>
 

nafets

Mitglied
Das ist leider nicht ganz das was ich meinte. Das sind meine eigenen Session ich kann mir ja selber eine neue generieren wenn ich mich abmelde und dann wieder einen klick mache etc.

Aber ich meine eine Session eines Anderen Benutzers!

Damit dieser beim nächsten Klick eine neue hat und die alten Statuse verfallen. Dann wird er nämlich auf eine Not-Login Seite umgeleitet.

Gruss
 

Luzie

Erfahrenes Mitglied
Hmmm

Du möchtest also jedem User beim neuen Start eine eindeutige Session mitgeben, eine, die er vorher noch nicht hatte?

Da gibt z.B. die Session.SessionID, eine GUID, man kann eine per Zufall generieren aus Zeit, Datum und IP.

Ansonsten weiss ich leider nicht, was Du meinst.
 

nafets

Mitglied
Nein, nein, ihr versteht leider nicht was ich meine. Ich versuchs nochmal ;)

Jeder User kriegt beim betrachten automatisch eine eindeutige Session-Nummer. Rein theoretisch ist die Nummer ja auf dem Server gespeichert bis diese abläuft.

Kann ich eine dieser Nummer (welche nicht meine ist) fühzeitig schliessen, so wie ich meine beenden kann? Damit dieser user die Variablen SEINER Session verliert?
 

Luzie

Erfahrenes Mitglied
Hi

Du kannst seine Nummer nicht schließen.
Du kannst höchstens eine Aktion einfügen, über die der User automatisch gehen muss und diese löscht dann die Session.
 

nafets

Mitglied
aha...

und wie geht das genau? Oder wie meinst du das, kannst du mir deine idee noch etwas genauer beschreiben. Umsetzten kriege dann hoffentlich selbst hin.

Gruss
 

Luzie

Erfahrenes Mitglied
Hi

Du, leider kann ich Dir da so nicht weiterhelfen.

Ich weiss weder, wofür Du es brauchst, noch habe ich richtig verstanden was Du da machen möchtest und welchen Sinn das haben soll.

Ich weiss, es ist manchmal schwierig, eine Situation zu beschreiben, so dass ein anderer diese versteht. Aber ich kenne einfach nicht Deine Gedankengänge.

Ich könnte jetzt noch weiterraten und Du könntest immer sagen, nein das ist es nicht. Aber sag mal ehrlich, macht das Sinn?.

Aber trotzdem noch ein Versuch:
Du könntest direkt nach dem Eintrag (execute-Befehl) in die Datebank den Befehl session.Abandon auslösen.
 
Zuletzt bearbeitet:

Neue Beiträge