我尝试通过Magento Connect工具将Magento 1.9.0.1升级到1.9.1,这似乎阻止了我为API访问添加用户和角色。
这是错误:
无效方法Mage_Admin_Model_User :: validateCurrentPassword(Array
有没有人遇到过这个?
答案 0 :(得分:0)
这个问题可以解决
1)打开文件app / code / core / Mage / Adminhtml / Controller / Action.php 2)之后,请参阅第395行的功能,并将内部代码注释到此。
受保护的函数_validateCurrentPassword($ password){
/*$user = Mage::getSingleton('admin/session')->getUser();
return $user->validateCurrentPassword($password);*/
}
答案 1 :(得分: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;
}