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

What is the safest way to save CurrentUser.id?

亲爱的 Strapi 团队和粉丝们,

我有一个简单的问题:

I created a table 具有以下设置:

在"Author"我想保存"CurrentUser.id"。我可以在 FrontEnd "Author = CurrentUser.id" 中编写,这很有效,但是这个赋值可以在 FrontEnd 中进行操作,对吧?

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

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

提前致谢!

本杰明

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

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

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

因此,如果您想在创建条目时自动应用条目的用户标识。 您必须自定义控制器的 create 功能,并为 ctx.request.body

所需的键添加 ctx.state.user.id

在你的情况下 ./api/article/controllers/Article.js 对于创建函数,它看起来像那样

create: async (ctx) => {
    ctx.request.body.author = ctx.state.user._id;
    return strapi.services.article.create(ctx.request.body);
  },