]> wagnertech.de Git - kivitendo-erp.git/commitdiff
HTTP-Header: Lebenszeit für Session-ID-Cookie setzen
authorMoritz Bunkus <m.bunkus@linet.de>
Fri, 27 Nov 2020 09:44:56 +0000 (10:44 +0100)
committerMoritz Bunkus <m.bunkus@linet.de>
Fri, 27 Nov 2020 09:48:41 +0000 (10:48 +0100)
Wenn ein Cookie kein Ablaufdatum gesetzt hat, so soll der Browser das
Cookie beim Beenden löschen. Damit ist es de facto unmöglich, ein
Session-Timeout anzugeben, das groß genug ist, damit man auch am
folgenden Arbeitstag noch eingeloggt ist (z.B. 24 Stunden).

`SL::Auth` berücksichtigt die Session-ID-Gültigkeit natürlich selber
schon, ist also die maßgebliche Instanz bzgl. der Gültigkeit, egal wie
lange der Browser das Cookie nun mitschickt. Aber wenn der Browser das
Cookie gar nicht mehr schickt, weil er zwischendurch geschlossen
wurde, kann `SL::Auth` auch nichts mehr machen.

SL/Form.pm

index 92d32e76f9ec8b67a4ec8c279268079b7889b768..46c52cb91317d3a0c75b86d8008b23c3969a1283 100644 (file)
@@ -385,6 +385,7 @@ sub create_http_response {
       $session_cookie = $cgi->cookie('-name'   => $main::auth->get_session_cookie_name(),
                                      '-value'  => $session_cookie_value,
                                      '-path'   => $uri->path,
+                                     '-expire' => '+' . ($::lx_office_conf{authentication}->{session_timeout} // 60) . 'm',
                                      '-secure' => $::request->is_https);
     }
   }