Projet

Général

Profil

Actions

Anomalie #169

fermé

L'authentification depuis une page gDTC ne fonctionne pas

Ajouté par Pierre Buyle il y a plus de 14 ans. Mis à jour il y a presque 12 ans.

Statut:
Résolu
Priorité:
Normale
Assigné à:
Catégorie:
Migration Drupal 6
Version cible:
-
Début:
10/06/2010
Echéance:
% réalisé:

100%

Temps estimé:

Description

L'authentification d'un utilisateur depuis une page gDTC ne fonctionne pas.

Aucun message d'erreur n'est affiché, mais le formulaire de connexion (en haut à droite) reste visible et l'utilisateur n'est pas authentifié.

Mis à jour par Pierre Buyle il y a plus de 14 ans

A première vue, le problème semble lié a un conflit de session entre gDTC et Drupal. Si je supprimes les 5 lignes de gestion de session en début de my/index.php (dans dtc), le problème est résolu.

Le code de gDTC est exécuté après l'initialisation de Drupal mais avant l'exécution du code des blocs. Donc avant le traitement soumissions du formulaire de login. L'authentification se fait donc dans un contexte de session qui n'est pas celui prévus. Et, si elle réussi, elle n'a aucun effet sur la session Drupal pour la page suivante.

Le problème ne se pose pas en production parce qu'un utilisateur non loggué n'a pas accès aux pages gDTC, donc le code gDTC n'est pas exécuté avant le traitement de la soumission d'un login.

Mis à jour par Pierre Buyle il y a plus de 14 ans

Si on solutionne #140, on a un workaround.

Mis à jour par Pierre Buyle il y a plus de 14 ans

J'ai essayer différentes pistes pour restaurer la session Drupal après l'exécution de gDTC en utilisant asession_name(), session_set_cookies_params(), session_id() et session_start() mais sans succès.

Mis à jour par Pierre Buyle il y a plus de 14 ans

  • Assigné à Pierre Buyle supprimé
  • Version cible Bascule Drupal 6 supprimé

Je supprime la version cible puisqu'avec la mise en place de la solution de #140 le problème ne se pose pas.

Il reste un problème de fond de conflit de session entre Drupal et DTC.

Mis à jour par Magali Garnero il y a plus de 13 ans

mail envoyé à Benj le 1er mai

Mis à jour par Benjamin Drieu il y a presque 12 ans

  • Statut changé de Confirmé à Résolu
  • Assigné à mis à Benjamin Drieu
  • % réalisé changé de 0 à 100

Corrigé via contournement : le problème est que l'authentification n'est pas possible à partir de la page /oubli-mot-de-passe pour des raisons de redirection du formulaire drupal (il suffit de voir la destination du formulaire d'auth qui redirige vers la page courante). La page de gDTC écrase visiblement le cookie.

Comme je n'arrivais pas à faire un fix, finalement on passe pas un contournement. La page qui acquitte le fait que le mot de passe a été bien modifié (page de gDTC) fait une redirection HTTP vers une page drupal normale, qui permet de faire l'auth.

Pourquoi ne pas y avoir pensé avant ? -> Think out of the box.

Actions

Formats disponibles : Atom PDF