配置安全性以仅允许某些用户更新条目,但允许在Backand中读取所有条目

时间:2016-02-19 13:57:44

标签: backand

是否可以配置表的安全性,只允许数据库表中某个条目的某些用户(所有者)修改该条目?

例如,在备注ap中,每个备注都分配给拥有此备注的用户列表。所有用户都应该能够看到所有笔记,但只有该节点的所有者才能编辑/删除此笔记条目。

我只找到了一个过滤器的解决方案,谁可以看到该注释,但没有人可以编辑该注释。

1 个答案:

答案 0 :(得分:2)

您需要为此创建一个Action。 转到Actions表。选择“更新期间”事件。 以下是https://github.com/backand/todos-with-users

的示例
// if the current user has an *Admin* role then he is allowed to update a todo for other users
  if (userProfile.role == "Admin")
    return {};

  if (!dbRow.created_by)
      throw new Error('Todo with no creator can\'t be updated.');

  // do not allow users to change the created by field 
  if (dbRow.created_by !=  userInput.created_by)
      throw new Error('You can\'t change the creator of the todo.');

  // do not allow non *Admin* users to change the creator of the todo 
  if (dbRow.created_by != userProfile.userId)
      throw new Error('You can only update your own todo.');
  return {};