小编Dan*_*ant的帖子

使用Api-Platform,如何在创建时自动将授权用户添加为资源所有者?

如何在创建时自动将当前授权用户添加到资源 ( POST)。

我正在使用 JWT 身份验证,并且 /api/ 路由受到未授权用户的保护。我想设置它,以便当经过身份验证的用户创建新资源(即通过向 发送POST请求/api/articles)时,新创建的Article资源与经过身份验证的用户相关。

我目前正在使用EventSubscriber每个资源类型的自定义来从令牌存储中添加用户。

这是订阅者基类的要点:https : //gist.github.com/dsuurlant/5988f90e757b41454ce52050fd502273

以及扩展它的实体订阅者:https : //gist.github.com/dsuurlant/a8af7e6922679f45b818ec4ddad36286

但是,例如,如果实体构造函数需要用户作为参数,则这不起作用。

例如

class Book {

    public User $owner;
    public string $name;

    public class __construct(User $user, string $name) {
        $this->owner = $user;
        $this->name  = $name;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在实体创建时自动注入授权用户?

php symfony api-platform.com symfony4

7
推荐指数
1
解决办法
1337
查看次数

标签 统计

api-platform.com ×1

php ×1

symfony ×1

symfony4 ×1