自定义rest api在magento中出现403错误

问题描述 投票:0回答:2

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

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

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

主机/api/rest/datafeed/truedash_customers

这是给我一个错误:

403 访问被拒绝

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

magento oauth magento-rest-api
2个回答
0
投票

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 标准获得更好的解决方案。这样核心文件就会完好无损。


-1
投票
  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');
    

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

© www.soinside.com 2019 - 2024. All rights reserved.