0

我是 Backand 和整个后端领域的新手,我需要一些启发。基本上我正在尝试制作一个用户可以注册和登录的应用程序。当用户登录时,他可以创建简单的东西,例如待办事项列表。待办事项列表然后保存在数据库中,并且只能由创建它的用户在页面上查看。

到目前为止,有一个用于注册、登录和创建/发布项目的功能。当前的用户身份验证基本上与示例中的类似:

var signin = function (username, password) {
    return Backand.signin(username, password)
        .then(function (response) {
            return response;
        });
};   

var signUp = function (user) {
    return $http({
        method: 'POST',
        url: 'https://api.backand.com/1/user/signup',
        headers: {
            'SignUpToken': "#####"
        },
        data: user
    });
};

而发布项目的功能就是这样,然后一个 GET 请求在网页上获取它。

var addList = function (title, comment) {
    return $http({
        method: 'POST',
        url: "https://api.backand.com/1/objects/lists",
        headers: {
            'Content-Type': 'application/json'
        },
        data: {
            title: title,
            comment: comment
        }
    });
};

现在我需要创建的项目只能由创建它的用户查看(登录时)。所以问题是,我该怎么做?你下一步怎么做?是否有任何教程/文档可以实现这一目标?我有点卡住所以任何帮助表示赞赏!:)

4

1 回答 1

1

Backand 有一个简单的解决方案

  1. 在 Backand 面板上转到对象 >> 待办事项 >> 安全
  2. 在预定义过滤器下,您将看到一个创建 nosql 或 sql 过滤器的向导。它的初始状态已准备好生成您描述的确切过滤器,只需检查它是否正确或进行更改,然后单击“获取代码”
  3. 单击验证和更新,如果没有错误,请批准该消息,然后您就可以开始了

它应该看起来像这样

{
  "$or": [
    {
      "'{{sys::role}}'": "'Admin'"
    },
    {
      "user": {
        "$in": {
          "object": "users",
          "q": {
            "email": {
              "$eq": "'{{sys::username}}'"
            }
          },
          "fields": [
            "id"
          ]
        }
      }
    }
  ]
}

或者一个 sql 版本:

( 'Admin' = '{{sys::role}}') or (`items`.`user` in (select `users`.`id` from `users` where `users`.`email` = '{{sys::username}}'))
于 2016-06-29T13:20:19.163 回答