在本文中,我们将了解Magento cookie如何通过面向客户的前端和管理后端的登录功能,其发生的原因以及如何解决这些问题来创建问题。
这也称为循环问题,因为即使用户名和密码正确,屏幕也会将自身重定向到同一屏幕。
本文末尾提供了一个脚本,可以帮助检测一些问题。您可以根据自己的需要随意使用和修改。
什么是Cookie?
Cookie是Web服务器可以存储在用户硬盘上的一段文本,也可以在以后检索它。Magento在Cart&Backend Admin功能中使用cookie,当无法登录Magento时,它们可能是一些问题的根源。
什么是session?也叫会话
session是服务器端的数组变量,它存储要在多个页面中使用的信息。例如,添加到购物车的商品通常会保存在session中,当用户浏览结帐页面时,会从session中读取这些商品。
会话由唯一ID标识。它的名称改变取决于编程语言 - 在PHP中它被称为'PHP sessionID'。您可能已经猜到,需要将相同的PHP会话ID存储为客户端浏览器中的cookie以进行关联。
Magento存储Sessions
Magento可以通过多个会话提供程序存储会话,这可以在Magento配置文件中配置app/etc/local.xml
。可以在此处选择这些会话提供程序。
文件
<session_save><![CDATA[files]]></session_save>
<session_save_path>
<![CDATA[/tmp/session]]>
</session_save_path>
数据库
允许会话将自己存储在数据库中是/app/etc/local.xml
通过添加来完成的<session_save><![CDATA[db]]></session_save>
。
Magento应用程序在Core\_session
表中存储会话。
Redis的
<session_save>db</session_save>
<redis_session>
<host>127.0.0.1</host>
<port>6379</port>
</redis_session>
MEMCACHE
session_save><![CDATA[memcache]]></session_save>
<session_save_path>
<![CDATA[tcp://localhost:11211?persistent=1&weight=2&timeout=10&retry_interval=10]]>
</session_save_path>
Magento用法
Magento使用两个名为'frontend'和'adminhtml'的不同cookie。在浏览任何页面时创建第一个。客户登录时也会更新相同的cookie,并在后端用户登录时创建下一个cookie。您可以通过单击Inspect Element> Application来检查是否已创建cookie ,如下图所示(来自Chrome) ):
通过配置管理菜单 System > Configuration > General > Web 在Magento中配置Cookie 。
下一篇文章将介绍由cookie和session导致的客户登录失败问题的原因和解决办法