Nous avons un site principal à example.com
. La connexion example.com/admin
fonctionne très bien là-bas.
Mais sur un site de test à, test.example.com/admin
je ne peux pas me connecter à l'administrateur sans d'abord supprimer tous les example.com
cookies. Ensuite, je peux me connecter, mais dès que je me connecte, example.com/admin
mon prochain clic sur le serveur de test me renvoie à la page de connexion.
Je ne sais pas si cela affecte les connexions client.
Existe-t-il une configuration sur le site principal ou le site de test qui résoudrait ce problème?
magento-1.9
admin
login
cookie
Buttle Butkus
la source
la source
.
devant du domaine, c'est important!example.com
administrateur, l'test.example.com
administrateur ou les deux?example.com
l'autretest.example.com
. Ils ont tous deux leurs propres administrateurs. Mais vous me dites seulement de définir un domaine pour l'un des administrateurs. Voulez-vous dire que je devrais laisser l'autre vide?test.example.com
et sur la boutique principalewww.example.com
pour éviter les chevauchements de cookies.Anna fait de bons points et sa réponse fonctionnera pour beaucoup de gens, mais pas pour moi, donc je poste ma propre réponse. Peut-être que mon problème était beaucoup plus fondamental que celui qu'elle aborde.
Ma solution était de changer le domaine de mon site de
example.com
àwww.example.com
. En fait, mes recherches sur Internet suggèrent que la raison pour laquelle des sites comme Amazon, Google, Ebay et toutes les autres destinations Web importantes utilisent lewww
préfixe peut être en grande partie due au fonctionnement des cookies. Peut être pas.Le fonctionnement par défaut d'un cookie est qu'il s'applique à tous les sous-domaines. Donc , si
example.com
vous envoie un cookie, vous visitezmail.example.com
,smile.example.com
oudevsite.example.com
, votre navigateur envoie ce cookie à ces sites et ces sites essayera d'utiliser le cookie. Mais ils ne pourront pas trouver votre session à moins qu'ils n'utilisent tous un dossier de session commun. Et même dans ce cas, vous auriez probablement des problèmes en raison de différentes configurations de base de données, de différentes structures d'application, etc.La modification impliquait la création de redirections 301 dans mon fichier racine htaccess, la modification des URL sécurisées / non sécurisées dans la
core_config_data
table de base de données magento , la modification du siteServerName
dans ApacheVirtualHosts
et la mise à jour des paramètres DNS / serveur de noms. Mais cela en valait la peine.En créant mon site principal
www.example.com
, ses cookies ne s'appliqueraient désormais qu'à ses sous-domaines, tels quemail.www.example.com
(et nous n'avons pas de tels sous-domaines). Les navigateurs clients qui obtiennent lewww.example.com
cookie ne l'envoient pasdevsite.example.com
et le problème est résolu. De plus, c'est vraiment sympa d'avoir unwww
devant notre nom de domaine.la source
Vous pouvez simplement changer le nom du cookie adminhtml pour les sous-domaines.
Deux changements de fichier
app/code/core/Mage/Core/Controller/Varien/Action.php
.Dans les
preDispatch
lignes de changement de fonctionà
En
setRedirectWithCookieCheck
changement de fonctionà
Et après cette recherche de texte
dans tous les fichiers et remplacez-le par
si des occurrences seraient trouvées.
la source
adminhtml
du domaine.example.com
. Lorsque vous essayez d'autoriser sur test.example.com/admin, il essaie de faire quelque chose avec le cookieadminhtml
pour.test.example.com
. Les problèmes diffèrent sur les paramètres de Magento. Le problème principal est que vous ne pouvez pas modifier les cookies du domaine principal à partir du sous-domaine. Le code ci-dessus oblige Magento à créer des cookiesadminhtml
pour example.com et des cookiesadminhtml_subdomain
pour subdomain.example.com, afin qu'ils ne se mélangent en aucune façon. Changezsubdomain
pour celui que vous utilisez.Si vous ne parvenez toujours pas à vous connecter à votre interface (la session client ne peut pas être créée) en raison des problèmes de cookies, veuillez remplacer le fichier principal respectif
et
Commentez les lignes indiquées dans ce fil. Cela a résolu le problème avec la connexion client sur le frontend sur le magasin de versions pré 1.8.x.
/magento//a/34057/695
la source