0

立ち寄ってくれてありがとう。

アプリの割引/クーポンのユーザーに提供するために使用する Class1 と呼ぶクラスがあります。ユーザーが登録プロセスを完了すると、オブジェクトを作成し、そのポインターをユーザーに格納します。

このクラスに CLP パーミッションを付与して、パブリックが作成できるようにしますが、このオブジェクトに書き込むことはできません。私が内部で使用するものだけにしましょう。

私の問題は、クラスに未定義にできない配列がいくつかあることです。そうしないと、他のクラウド関数がそれらの値を読み取ろうとしてエラーをスローすることになります。クラスの beforeSave() トリガーを設定し、マスター キーを使用しますが、オブジェクトが保存されていないため、登録の最後にユーザー全体が保存されません。オブジェクトを安全に保ち、ユーザーがアプリのすべてのサービスを無料で盗むことができないようにしながら、これを修正するにはどうすればよいですか?

ここに私の beforeSave トリガーがあります:

Parse.Cloud.beforeSave("Class1", function(request, response)
{
    Parse.Cloud.useMasterKey();
    var emptyArray = [];
    class1 = request.object;
    if( class1.isNew() )
    {
        class1.set("array1", emptyArray);
        class1.set("array2", emptyArray);
        class1.set("array3", emptyArray);
    }
    response.success();
});
4

1 に答える 1

0

したがって、マスターキーを使用して beforeSave トリガーで CLP / ACL のものをオーバーライドすることはできないと思います...ただし、それはポイントを完全に無効にするため、理にかなっています。

ただし、公開作成アクセス権を付与すると、初期データを入力できますが、更新アクセス権なしでは更新できません。したがって、オブジェクトを作成して保存する前に、クライアント側でこれらのパラメーターを設定するだけでよいというのが明白な答えでした。

于 2015-10-28T18:24:52.313 に答える