Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi IdHTTPServer Sesseion.Content Daten weitergeben (https://www.delphipraxis.net/213309-idhttpserver-sesseion-content-daten-weitergeben.html)

Hobbycoder 6. Jul 2023 14:15

IdHTTPServer Sesseion.Content Daten weitergeben
 
Hi,
ich möchte über unterschiedliche Pages, die ich über IdHTTPServer bereitstelle, Daten weitergeben. Z.B.Username, userguid, kundenguid, etc.
Im Grund müssen diese Parameter während der Session nicht mehr verändert werden, und werden auch für diverse DB-Selektionen bzw. Speichervorgänge benötigt.

Delphi-Quellcode:
    FHTTPServer.AutoStartSession:=True;
    FHTTPServer.SessionState:=True;
    FHTTPServer.ParseParams:=True;
    FHTTPServer.SessionIDCookieName:='SessionTest';
    FHTTPServer.SessionTimeOut:=1200;
    FHTTPServer.OnCommandGet:=OnCommand;
Diese könnte ich ja irgendwie in der Session speichern. Nur wie, das ist mir noch nicht klar.

So in Session speichern
Delphi-Quellcode:
ARequestInfo.Session.Lock;
try
  ARequestInfo.Session.Content.AddPair('userguid', u.guid);
  ARequestInfo.Session.Content.AddPair('username', u.name);
finally
  ARequestInfo.Session.Unlock;
end;
uns so aus Session lesen
Delphi-Quellcode:
ARequestInfo.Session.Lock;
try
  u.userguid:=ARequestInfo.Session.Content.Values['userguid'];
  u.UserName:=ARequestInfo.Session.Content.Values['username'];
finally
  AResponseInfo.Session.Unlock;
end;
funktioniert schon mal nicht. Was fehlt mir noch?

mjustin 6. Jul 2023 15:44

AW: IdHTTPServer Sesseion.Content Daten weitergeben
 
Im Daraja HTTP Framework ist Session-Unterstützung enthalten und es basiert auf dem Indy HTTP Server.
Anhand der Beispiele lässt sich daher die Aktivierung und Verwendung von Sessions leicht nachbauen.
Sessions werden zum Beispiel im Login-Demo verwendet, das als tutorial6 im demo Ordner liegt.

https://github.com/michaelJustin/daraja-framework

Session-Unterstützung wird in MainUnit dadurch aktiviert, dass der Context mit einem optionalen Flag erstellt wird:

Delphi-Quellcode:
Context := TdjWebAppContext.Create('', True);


Dadurch erfolgt dann die Aktivierung der Session-Unterstützung in der TIdHTTPServer Komponente.

Hobbycoder 6. Jul 2023 17:48

AW: IdHTTPServer Sesseion.Content Daten weitergeben
 
Danke.
Hab meinen Fehler gefunden :-D

himitsu 6. Jul 2023 18:39

AW: IdHTTPServer Sesseion.Content Daten weitergeben
 
Zitat:

Zitat von Hobbycoder (Beitrag 1524286)
Hab meinen Fehler gefunden :-D

Jetzt stell dir mal vor du bist jemand Anderes, mit einem gleichen/ähnlichem Problem und findest hier die Lösung zum Problem. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz