更改Magento 2 REST API

时间:2018-01-23 17:35:14

标签: rest api magento permissions magento2

嘿伙计们,我想知道是否有人可以帮助解决这个问题。 现在我在我的公司面临一个问题。我们正在为客户开发Magento 2社区多线圈。

我们的想法是在同一个Magento 2安装中安装多个商店,每个商店都是针对每个独立公司的。问题是与我们的ERP系统的集成。使用API​​ REST,即使我们没有使用管理主机凭证,我们也可以完全控制安装。如果我们在邮递员中运行这样的命令:https://magentostore.com/rest/V1/orders?searchCriteria 我们在安装,所有商店都有所有订单。因此,拥有其凭据的公司将拥有相同的控制权,这是一个非常糟糕的安全问题。商店可以互相访问数据。

我们尝试过像Aitoc和Amasty这样的高级权限扩展程序,但它只适用于前端级别,并且不会对API REST产生任何影响。我们知道Magento不是为了这种事情而做的,所以我的问题是:

是否可以更改API REST以按商店过滤查询?我在哪里可以找到这些API REST查询? 我非常感谢你。

1 个答案:

答案 0 :(得分:0)

因此,您可以使用模块中的 webapi.xml 文件覆盖api调用,只需将其指向服务界面并根据需要更改acl。在您的服务界面中注入原始的一个并在调用原始之前添加一些过滤器。

第二种在OrderRepositoryInterface上编写插件并在那里添加过滤器的方法(但是第一种解决方案更好,因为这项服务不仅用在api中,所以你可能不想限制所有的调用)