用户特定内容

时间:2016-06-29 07:37:29

标签: angularjs backand

我是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
        }
    });
};

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

1 个答案:

答案 0 :(得分:1)

Backand有一个简单的解决方案

  1. 在Backand面板上转到对象>>待办事项>>安全
  2. 在预定义过滤器下,您将看到一个用于创建nosql或sql过滤器的向导。它的初始状态已准备就绪,可以生成您所描述的精确过滤器,只需查看其是否为真或进行更改,然后点击“获取代码”
  3. 点击验证&更新,如果没有错误,批准该消息并且您已设置为
  4. 看起来应该是这样的

    {
      "$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}}'))