我试图在API平台上设置我的实体的安全性,发现我可以调用一个方法而不是文档中使用的属性示例(在网络上的某个示例中找到这个):
* attributes={"access_control"="is_granted('ROLE_USER') and object.belongsTo(user)"},
这在我的情况下是必要的,因为我保持用户帐户数据与用户个人资料数据分开,并且有问题的实体链接到个人资料,而不是用户实体。
这就像个人getter上的魅力(/ api / data / {id})一样,但在列表中出现服务器500错误(/ api / data)时失败:
" hydra:description":"无法调用方法\" belongsTo \"对象 \" ApiPlatform \核心\桥\学说\奥姆\分页程序\"",
想知道出了什么问题以及如何解决它。
" belongsTo()"方法很简单:
public function belongsTo(User $user) {
return $user == $this->owner->user;
}