Durée session Symfony 3.4

a marqué ce sujet comme résolu.

Bonjour,

J’ai récupéré un site, sous symfony 3.4, qui n’utilise pas le système d’authentification de symfony.

Il y a 3 services qui sur toutes les pages vérifient l’identité et l’habilitation de la personne en checkant un token stocké en session.

Comme mes users sont obligés de rester parfois plus d’1h sur 1 page avant d’en changer, j’ai augmenté la durée de vie des sessions.

dans config.yml

    session:
        cookie_lifetime: 43200
        gc_maxlifetime: 43200

la barre de dev m’indique bien que la durée de vie de ma session est de 12h. toutefois, le service de vérification du token ne retrouve plus ce token au bout d’une heure environ…

Dès qu’il reste inactif plus d’1h, si il change de page, il se fait déconnecter. Une idée?

Il faudrait vérifier le header de tes requêtes (plus précisément le SET-COOKIE) dans un premier temps pour savoir si l’heure envoyé est correcte.

Tu peux aussi essayer de remplacer : session.cookie_path (assure toi qu’il ne soit pas accessible via le web).

Bonjour A-312, dsl du retard de réponse, grippe…

j’ai suivi tes conseils

session:
    handler_id: session.handler.native_file
    save_path: '%kernel.root_dir%/var/sessions/%kernel.environment%'
    cookie_lifetime: 43200
    gc_maxlifetime: 43200

mais ca ne fonctionne toujours pas… :'(

concernant le SET-cookies, voila ce que le _profiler m’indique à 12:18 ce jour:

Session Metadata
Key Value
Created Thu, 31 Jan 19 12:18:18 +0100
Last used Thu, 31 Jan 19 12:18:44 +0100
Lifetime 43200
Session Attributes
Attribute Value
UserService[User] Object(UserBundle\Entity\User)
+0 -0

La config est bien prise en compte pourtant. :/ Toutes les personnes se font déco en même temps ? Ou ça affecte une personne à la fois ?

Regarde si tu n’as pas un session_destroy qui traîne.

Ce n’est pas ça mais : vérifie l’heure du serveur. ;)

il n’y a que cette variable session UserService[User] dans laquelle il stocke l’objet User.

a y penser c’est peut être le fait de stocker un objet dans la variable session qui pose problème… d’ou l’intérêt de stocker un jeton qui fait référence en base de donnée à l’user en question…

Bon tu as trouvé un bonne piste, malgré le paramétrage, les fichiers ne se créés pas dans les dossiers visés…

les droits sur les dossiers sont corrects, tous les tutos correspondent au paramétrage mise en place… je ne comprends pas…

Leeroy Jenkins

Sous symfony tu as une commande pour vérifier les permissions d’écriture il me semble.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte