保存CurrentUser.id最安全的方法是什么?

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

亲爱的Strapi队和球迷,

我有一个简单的问题:

created a table具有以下设置:

在“作者”中我想保存“CurrentUser.id”。我可以在FrontEnd“Author = CurrentUser.id”中编写,它可以工作,但是这个赋值可以在FrontEnd中操作,对吧?

为了安全起见,如果Author在BackEnd中自动获取CurrentUser.id的值可能会更好。

我是否必须在Strapi BackEnd中更改任何内容,或者此功能是否已经可用?

提前致谢!

本杰明

PS:Here is a screenshot. That's what I mean.

strapi
1个回答
0
投票

文档https://strapi.io/documentation/3.x.x/guides/authentication.html#user-object-in-strapi-context

当用户通过身份验证并请求Strapi时,在上下文中设置用户信息(ctx.state.user)

因此,如果您想在创建时自动应用en entry的用户ID。你必须自定义你的控制器的create功能,并添加ctx.state.user.id为你想要的ctx.request.body的键

在你的情况下将是./api/article/controllers/Article.js并且对于create函数将看起来像那样

create: async (ctx) => {
    ctx.request.body.author = ctx.state.user.id;
    return strapi.services.article.add(ctx.request.body);
  },
© www.soinside.com 2019 - 2024. All rights reserved.