0

我尝试通过 Magento Connect 工具将 Magento 1.9.0.1 升级到 1.9.1,它似乎阻止了我添加用户和角色以进行 API 访问。

这是错误:

无效的方法 Mage_Admin_Model_User::validateCurrentPassword(Array

有没有人遇到过这个?

4

2 回答 2

0

这个问题可以解决

1) 打开文件 app/code/core/Mage/Adminhtml/Controller/Action.php 2) 之后查看第 395 行的函数并将内部代码注释到其中。

受保护的函数 _validateCurrentPassword($password){

   /*$user = Mage::getSingleton('admin/session')->getUser();
    return $user->validateCurrentPassword($password);*/

}

于 2015-07-11T10:33:34.570 回答
0

在将 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;
}
于 2017-07-27T01:25:56.347 回答