首页 > 解决方案 > Strapi 后端和查询限制

问题描述

我目前正在使用 Strapi 作为在线商店的后端,并且面临这样的问题:默认情况下,Strapi 在 GET 查询中返回所有数据,例如http://host.com/users将返回所有用户的字段,包括privateMessages, orders, favoritedProducts,但这些数据应该是私有的。我该如何限制这一点,所以每个用户只能获得自己的私人数据?

Strapi还有奇怪的权限设置,如果我允许更新User模型,那基本上意味着其他用户可以执行PUT查询和编辑其他用户的数据,但是如果我限制更新User模型,那么用户不能更新自己的数据

标签: backendstrapi

解决方案


要做到这一点,您必须根据您拥有的信息添加自定义逻辑ctx.state.user

此处的文档https://strapi.io/documentation/3.xx/guides/authentication.html#user-object-in-strapi-context

您可以创建一个策略并将其应用于您想要的路由或更新您的控制器代码以限制访问。


推荐阅读