magento 从 1.7 升级到 1.9.1 后客户无法登录
Customer cannot login after magento upgrade from 1.7 to 1.9.1
我最近将 magento 从 1.7 升级到 1.9.1。所有功能似乎都在工作,包括添加的扩展。
当客户尝试登录时,它会将其重定向回登录页面并出现错误。
Invalid login or password.
我尝试将 formkey 代码添加到登录表单,但没有成功登录。我使用了一些用户发布的 formkey 代码,他们说这对很多其他用户都有效
<?php echo $this->getBlockHtml('formkey'); ?>
和
<input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>" />
这是因为密码在 Magento 1.9.1 中的存储格式与在 Magento 1.7 中的存储格式不同吗?
有人有其他解决方案吗?
解法:
就我而言,这是加密方法。以前,我的 Magento 设置曾经使用 sha256 加密而不是 md5。我想如果我没有这种加密,FORMKEY 应该可以工作。我只需要更改
app/code/local/Mage/Core/Model/Encryption.php
public function hash($data) {return md5($data);}
至
public function hash($data) {return hash('sha256', $data);}
我最近将 magento 从 1.7 升级到 1.9.1。所有功能似乎都在工作,包括添加的扩展。
当客户尝试登录时,它会将其重定向回登录页面并出现错误。
Invalid login or password.
我尝试将 formkey 代码添加到登录表单,但没有成功登录。我使用了一些用户发布的 formkey 代码,他们说这对很多其他用户都有效
<?php echo $this->getBlockHtml('formkey'); ?>
和
<input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>" />
这是因为密码在 Magento 1.9.1 中的存储格式与在 Magento 1.7 中的存储格式不同吗?
有人有其他解决方案吗?
解法: 就我而言,这是加密方法。以前,我的 Magento 设置曾经使用 sha256 加密而不是 md5。我想如果我没有这种加密,FORMKEY 应该可以工作。我只需要更改
app/code/local/Mage/Core/Model/Encryption.php
public function hash($data) {return md5($data);}
至
public function hash($data) {return hash('sha256', $data);}