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.
Catégorie:
Migration Drupal 6
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é.
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.
Si on solutionne #140, on a un workaround.
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.
- 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.
mail envoyé à Benj le 1er mai
- 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.
Formats disponibles : Atom
PDF