Die Cookie-Statusverwaltung wird mit der Systemprozedur sa_set_http_header mit dem Feldnamen "Set-Cookie" unterstützt. Bei der Verwendung von Cookies für die Statusverwaltung muss keine Sitzungs-ID in den URL einbezogen werden. Stattdessen stellt der Client die Sitzungs-ID in seinem HTTP-Cookie-Header bereit. Der Nachteil der Verwendung von Cookies für die Statusverwaltung ist, dass die Cookieunterstützung in einer ungeregelten Umgebung, in der Clients Cookies möglicherweise deaktiviert haben, nicht zuverlässig ist. Daher sollte eine Webanwendung sowohl die URL- als auch die Cookie-Sitzungsstatusverwaltung unterstützen. Eine URL-Sitzungs-ID hat, wie im vorigen Abschnitt beschrieben, Vorrang, wenn ein Client sowohl eine URL als auch eine Cookie-Sitzungs-ID bereitstellt. Es ist die Verantwortung der Webanwendung, das SessionID-Cookie zu löschen, wenn die Sitzung abläuft oder die Sitzung explizit gelöscht wird (z.B. sa_set_http_option('SessionID', NULL)).
DECLARE session_id VARCHAR(64); DECLARE tm TIMESTAMP; SET tm=now(*); SET session_id = 'session_' || CONVERT( VARCHAR, SECONDS(tm)*1000+DATEPART(millisecond,tm)); CALL sa_set_http_option('SessionID', session_id); CALL sa_set_http_header( 'Set-Cookie', 'sessionid=' || session_id || ';' || 'max-age=60;' || 'path=/session;' ); |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |