Je gère un site D7 que pour une raison quelconque ne permet pas aux utilisateurs de réinitialiser leurs mots de passe, mais uniquement sur le serveur. L'e-mail avec le lien de connexion ponctuel est envoyé juste bien, mais lorsque l'utilisateur clique sur le lien, ils obtiennent une page 403 avec le message générique "Vous n'êtes pas autorisé à accéder à cette page". Je sais que cela doit être spécifique à un environnement de serveur, car avec un clone du site sur ma machine locale (envoyant l'e-mail à l'aide du module SMTP), cela fonctionne simplement. Je suppose que le problème se produit dans user_edit_access (), où il s'agit de la comparaison de la valeur de $ de compte-> uid avec des globaux $ ['utilisateur'] -> uid, mais c'est juste une supposition à ce stade.
Toute suggestion sur ce que le problème pourrait être? Les serveurs utilisent du vernis, c'est une pensée qui est venue à l'esprit, mais je ne sais pas comment comprendre cela.
Merci.
Commentaire le /* $cookie_domain = $_SERVER['HTTP_Host']; */
à partir de paramètres.php à partir du chemin\sites\Les valeurs par défaut fonctionneront pour vous.
ou bien utiliser le code ci-dessous dans Paramètres.php:
<?php
/**
* Drupal automatically generates a unique session cookie name for each site
* based on its full domain name. If you have multiple domains pointing at the
* same Drupal site, you can either redirect them all to a single domain (see
* comment in .htaccess), or uncomment the line below and specify their shared
* base domain. Doing so assures that users remain logged in as they cross
* between your various domains. Make sure to always start the $cookie_domain
* with a leading dot, as per RFC 2109.
*/
$cookie_domain = '.your_domain.com';
$conf['https'] = TRUE;
?>
Sur les sites avec des utilisateurs anonymes, il est pratique de ne pas définir ceci afin de vous connecter en tant qu'administrateur sur un onglet et anonyme sur un autre en utilisant "www" sur l'un d'entre eux.