Wann sind variablen in Session gelöscht?

Hey!

Ich habe ein shopware shop wo kunden zugangs daten brauchen um shop zu sehen. Deswegen habe ich ein eventListener für Enlight_Controller_Action_PreDispatch_Frontend wo ich ein check mache ob benutzer schon die zugangsdaten hat:

$userId = null;
if(Shopware()->Session()) {
    $userId = Shopware()->Session()['customUserId'];
}
        
if(empty($userId)) {
    $controller->redirect('frontend/customController/login');
}

Und in custom controller checke ich ob die daten passen und falls ja, speichere ich diese custom user id zum session…

Jetzt kann benutzer die seite benutzen und solang nicht zu lang nix gemacht ist (ich glaube 20 min oder so was ist session limit eingestellt in php.ini). Problem ist, das manchmal (nich immer?!?) wenn ich schon produkte in warenkorb gelegt habe und klicke ich dann Zur kassa gehen will, dann kommt wieder die login seite. Wenn ich nochmal zugangsdaten schreibe, ist aber warenkorb wieder leer…

 

Frage : Gibts ein grund (auser zeit limit) so das die custom user id von session gelöscht ist? Falls ja, wie macht mann so das diese information in session bleibt bis die zeit limit?

 

Vielen dank,
Aljoša