我有一个应用程序,允许多个用户编辑一个对象的数据,比如说用户 A、B 和 C。所有这些都在对象 ACL 上明确定义了读取和写入。
当我以用户 A 身份登录时,我可以删除用户 B 和 C 的访问权限......但是当我尝试删除自己时,它会引发错误:
CommunicationError {消息:“权限修改无效。”,名称:“CommunicationError”,原因:{...},原因:“无效的权限修改”,状态:462,...}
有没有办法让用户删除他自己的 ACL?如果没有,鉴于此代码,我如何才能捕获此错误并发出警报(“您无法删除自己对该公司的访问权限,请让同事删除您或联系我们的支持团队。”)?
removeManager(event, id) {
event.preventDefault();
db.Companies.load(this.props.match.params.id)
.then((company) => {
company.acl.denyReadAccess(id);
company.acl.denyWriteAccess(id);
return company.update()
.then(() => {
return company.partialUpdate()
.remove("managers", id)
.execute()
.then(() => {
this.getCompanyandManagers()
})
})
})
}