Tenemos un sitio principal en example.com
. Iniciar sesión example.com/admin
funciona bien allí.
Pero en un sitio de prueba en test.example.com/admin
No puedo iniciar sesión en el administrador sin eliminar primero todas las example.com
cookies. Entonces puedo iniciar sesión, pero tan pronto como inicie sesión, example.com/admin
mi siguiente clic en el servidor de prueba me devuelve a la página de inicio de sesión.
No sé si esto afecta los inicios de sesión de los clientes.
¿Hay alguna configuración en el sitio principal o en el sitio de prueba que resolvería este problema?
magento-1.9
admin
login
cookie
Buttle Butkus
fuente
fuente
.
frente del dominio, es importante!example.com
administrador, eltest.example.com
administrador o ambos?example.com
, el otrotest.example.com
. Ambos tienen sus propios administradores. Pero solo me está diciendo que establezca un dominio para uno de los administradores. ¿Estás diciendo que debería dejar el otro en blanco?test.example.com
y en la tienda principalwww.example.com
para evitar la superposición de cookies.Anna hace algunos buenos comentarios y su respuesta funcionará para mucha gente, pero no para mí, así que estoy publicando mi propia respuesta. Quizás mi problema fue mucho más fundamental que el que ella aborda.
Mi solución fue cambiar el dominio de mi sitio de
example.com
awww.example.com
. De hecho, mi investigación en Internet sugiere que la razón por la cual los sitios como Amazon, Google, Ebay y cualquier otro destino web importante usan elwww
prefijo puede deberse en gran parte a la forma en que funcionan las cookies. Tal vez no.La forma predeterminada en que funciona una cookie es que se aplica a todos los subdominios. Entonces, si le
example.com
envía una cookie, entonces usted visitamail.example.com
,smile.example.com
odevsite.example.com
, entonces su navegador enviará esa cookie a esos sitios y esos sitios intentarán usar la cookie. Pero no podrán encontrar su sesión a menos que todos usen una carpeta de sesión común. E incluso entonces, es probable que tenga problemas debido a las diferentes configuraciones de la base de datos, las diferentes estructuras de aplicación, etc.Hacer el cambio implicó crear redirecciones 301 en mi archivo htaccess raíz, cambiar las URL seguras / inseguras en la
core_config_data
tabla de la base de datos magento , cambiar el sitioServerName
en ApacheVirtualHosts
y actualizar la configuración de DNS / servidor de nombres. Pero valió la pena.Al crear mi sitio principal
www.example.com
, sus cookies ahora solo se aplicarían a subdominios del mismo, comomail.www.example.com
(y no tenemos ninguno de esos subdominios). Los navegadores de los clientes que obtienen lawww.example.com
cookie no la envíandevsite.example.com
, y el problema está resuelto. Además, es realmente bueno tener un nombrewww
delante de nuestro dominio.fuente
Simplemente puede cambiar el nombre de la cookie adminhtml para los subdominios.
Dos cambios en el archivo
app/code/core/Mage/Core/Controller/Varien/Action.php
.En función
preDispatch
cambiar líneasa
En
setRedirectWithCookieCheck
cambio de funcióna
Y luego de esa búsqueda de texto
en todos los archivos y reemplazarlo con
si se encontrara alguna ocurrencia.
fuente
adminhtml
para el dominio.example.com
. Cuando intenta autorizar al test.example.com/admin, trata de hacer algo con la cookieadminhtml
para.test.example.com
. Los problemas difieren en la configuración de Magento. El principal problema es que no puede modificar la cookie del dominio principal desde el subdominio. El código anterior hace que Magento cree cookiesadminhtml
para example.com y cookiesadminhtml_subdomain
para subdominio.ejemplo.com, por lo que no se mezclarán de ninguna manera. Cambiesubdomain
a la correcta que usa.Si aún no puede iniciar sesión en su interfaz (no se puede crear la sesión del cliente) debido a problemas con las cookies, anule el archivo principal correspondiente
y
Comente las líneas señaladas en este hilo. Esto ha solucionado el problema con el inicio de sesión del cliente en la interfaz de la tienda de versiones anteriores a la 1.8.x
/magento//a/34057/695
fuente