0

私は Backand とバックエンド分野全体に慣れていないので、ある程度の知識が必要です。基本的に、ユーザーが登録してサインインできるアプリケーションを作成しようとしています。ユーザーがサインインしている間、To Do リストなどの簡単なものを作成できます。To Do リストはデータベースに保存され、作成したユーザーのみがページで表示できます。

これまでのところ、サインアップ、ログイン、アイテムの作成/投稿の機能があります。現在のユーザー認証は、基本的に例のようになっています。

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

アイテムを投稿するための関数はこのようなものですが、Web ページでそれを取得するための 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 パネルで Objects >> To-dos >> Security に移動します
  2. 定義済みフィルターの下に、nosql または sql フィルターを作成するためのウィザードが表示されます。その初期状態は、あなたが説明した正確なフィルターを生成する準備ができています。それを調べて、それが真かどうかを確認するか、変更を加えてから、[コードを取得] をクリックします。
  3. Validate & Update をクリックし、エラーがない場合はメッセージを承認してください。

このように見えるはずです

{
  "$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 に答える