【问题标题】:custom rest api have 403 error in magento自定义rest api在magento中有403错误
【发布时间】:2014-06-10 22:56:25
【问题描述】:

我在 magento 中创建了一个自定义的 rest api。 如果我通过此代码访问它工作正常:

http://www.magentocommerce.com/api/rest/introduction.html

但是当我想使用这个 url 访问它时:

host/api/rest/datafeed/truedash_customers

这是给我一个错误:

403 访问被拒绝

谁能告诉我为什么会发生这种情况,请帮忙......

【问题讨论】:

  • 发生这种情况的情况可能很多......最常见的是当网络服务器对您尝试访问的文件/目录没有足够的权限时。你用什么服务器?什么操作系统?您可以访问操作系统吗?
  • 我正在使用 apache 服务器,我正在我的本地主机上制作这个......先生,请帮助我
  • 这是我的问题链接先生,我问这个问题??

标签: api magento rest oauth


【解决方案1】:

1) 快速而肮脏的修复: 在文件 /app/code/core/Mage/Api2/Model/Auth.php 中,更改以下值: DEFAULT_USER_TYPE = '客人' 到 DEFAULT_USER_TYPE = '管理员'。

在文件中 /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');

这样认证系统不会被破坏。

2) 适当且长期的修复: 使用 magento 覆盖机制覆盖这两个功能,以获得符合 magento 标准的更好的解决方案。这样核心文件就会完好无损。

【讨论】:

    【解决方案2】:
    1. 快速而肮脏的修复:在文件/app/code/core/Mage/Api2/Model/Auth.php中,将DEFAULT_USER_TYPE = 'guest'的值更改为DEFAULT_USER_TYPE = 'admin'

    2. 在文件/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');
      

    这样认证系统不会被破坏。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-09
      • 1970-01-01
      • 2019-02-22
      • 1970-01-01
      • 2014-07-13
      • 2013-07-21
      • 1970-01-01
      • 2022-11-14
      相关资源
      最近更新 更多