我在magento中创建了一个自定义的rest api。 如果我通过此代码访问它,它工作正常:
http://www.magentocommerce.com/api/rest/introduction.html
但是当我想使用此网址访问此内容时
主机/ API /休息/数据Feed / truedash_customers
它给我一个错误:
403拒绝访问
任何人都可以告诉我为什么这会发生任何帮助,请......
答案 0 :(得分:0)
1)快速而肮脏的修复: 在文件/app/code/core/Mage/Api2/Model/Auth.php中,更改以下值: DEFAULT_USER_TYPE ='来宾' 至 DEFAULT_USER_TYPE =' admin'。
在文件中 /app/code/core/Mage/Api2/Model/Auth/Adapter.php, 改变这一行 return(object)数组('类型' => Mage_Api2_Model_Auth :: DEFAULT_USER_TYPE,' id' => null); 对此: return(object)数组('类型' => Mage_Api2_Model_Auth :: DEFAULT_USER_TYPE,' id' =>' 1');
这样,身份验证系统就不会被破坏。
2)正确和长期修复: 使用magento覆盖机制覆盖这两个功能,以根据magento标准获得更好的解决方案。这样核心文件就完好无损了。
答案 1 :(得分:-1)
快速而肮脏的修复:在文件/app/code/core/Mage/Api2/Model/Auth.php
中,将DEFAULT_USER_TYPE = 'guest'
的值更改为DEFAULT_USER_TYPE = 'admin'
。
在文件/app/code/core/Mage/Api2/Model/Auth/Adapter.php,
中,从
return (object) array('type' => Mage_Api2_Model_Auth::DEFAULT_USER_TYPE,
'id' => null);
到此:
return (object) array('type' => Mage_Api2_Model_Auth::DEFAULT_USER_TYPE,
'id' => '1');
这样,身份验证系统就不会被破坏。