亲爱的Strapi队和球迷,
我有一个简单的问题:
我created a table具有以下设置:
在“作者”中我想保存“CurrentUser.id”。我可以在FrontEnd“Author = CurrentUser.id”中编写,它可以工作,但是这个赋值可以在FrontEnd中操作,对吧?
为了安全起见,如果Author在BackEnd中自动获取CurrentUser.id的值可能会更好。
我是否必须在Strapi BackEnd中更改任何内容,或者此功能是否已经可用?
提前致谢!
本杰明
文档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);
},