backend - Strapi 后端和查询限制
问题描述
我目前正在使用 Strapi 作为在线商店的后端,并且面临这样的问题:默认情况下,Strapi 在 GET 查询中返回所有数据,例如http://host.com/users
将返回所有用户的字段,包括privateMessages
, orders
, favoritedProducts
,但这些数据应该是私有的。我该如何限制这一点,所以每个用户只能获得自己的私人数据?
Strapi还有奇怪的权限设置,如果我允许更新User
模型,那基本上意味着其他用户可以执行PUT查询和编辑其他用户的数据,但是如果我限制更新User
模型,那么用户不能更新自己的数据
解决方案
要做到这一点,您必须根据您拥有的信息添加自定义逻辑ctx.state.user
此处的文档https://strapi.io/documentation/3.xx/guides/authentication.html#user-object-in-strapi-context
您可以创建一个策略并将其应用于您想要的路由或更新您的控制器代码以限制访问。
推荐阅读
- angular - 如何以角度压缩多个图像?在这里我附上了一次只能压缩一张图像的代码
- java - Spring Boot JPA & H2:高效搜索 REST API(如何处理 List 类型的属性
? - excel - 仅在打开电子表格时读取一个单元格并复制到另一个单元格
- css - ReactJs 表单输入验证
- javascript - 如何设置echarts.apache vue yAxis条粗细
- python - 是否有用于定位绘图的第一个肘部的 Python 函数或方法?
- flutter - 无法访问解码的 json 身体颤动
- javascript - jquery datatable的第二次执行不重绘数据
- amazon-dynamodb - 如何使用 Lambda 函数将数据从 DynamoDB 数据获取到 Kinesis Firehose?
- c - “omp parallel for”在“omp parallel”中不起作用