我尝试通过 Magento Connect 工具将 Magento 1.9.0.1 升级到 1.9.1,它似乎阻止了我添加用户和角色以进行 API 访问。
这是错误:
无效的方法 Mage_Admin_Model_User::validateCurrentPassword(Array
有没有人遇到过这个?
我尝试通过 Magento Connect 工具将 Magento 1.9.0.1 升级到 1.9.1,它似乎阻止了我添加用户和角色以进行 API 访问。
这是错误:
无效的方法 Mage_Admin_Model_User::validateCurrentPassword(Array
有没有人遇到过这个?
这个问题可以解决
1) 打开文件 app/code/core/Mage/Adminhtml/Controller/Action.php 2) 之后查看第 395 行的函数并将内部代码注释到其中。
受保护的函数 _validateCurrentPassword($password){
/*$user = Mage::getSingleton('admin/session')->getUser();
return $user->validateCurrentPassword($password);*/
}
在将 Magento 升级到更新版本的 1.9 后,我最近遇到了同样的问题。
需要注意的是,你永远不要修改核心文件,密码验证也不一定要删除。
在我个人的情况下,我将原始函数恢复到核心文件,但是,您可以轻松扩展 Mage_Admin_Model_User 类。
我使用的功能版本可以在下面找到。
/**
* Validate password against current user password
* Returns true or array of errors.
*
* @return mixed
*/
public function validateCurrentPassword($password)
{
$result = array();
if (!Zend_Validate::is($password, 'NotEmpty')) {
$result[] = $this->_getHelper('adminhtml')->__('Current password field cannot be empty.');
} elseif (is_null($this->getId()) || !$this->_getHelper('core')->validateHash($password, $this->getPassword())){
$result[] = $this->_getHelper('adminhtml')->__('Invalid current password.');
}
if (empty($result)) {
$result = true;
}
return $result;
}