5

サンプル アプリ「parties」には、Parties コレクションの許可/拒否ルールのセットがあります。のルールはinsert次のようになります。

Parties.allow({
  insert: function (userId, party) {
    return false; // no cowboy inserts -- use createParty method
  },...

同時に createParty メソッドは、Parties コレクションに適用されるルールの影響を受けない Parties.insert({....}) を実装します。

.....
return Parties.insert({
      owner: this.userId,
      x: options.x,
      y: options.y,
      title: options.title,
      description: options.description,
      public: !! options.public,
      invited: [],
      rsvps: []
    });
.....

createParty メソッドがルールの影響を受けない理由を誰か説明できますか?

ありがとうございました。

4

1 に答える 1

10

createParty、 クライアントからMeteor.methodsを呼び出すことによって、クライアント側だけでなくサーバー側でも実行されMeteor.call('createParties')ます。クライアントではデータは挿入されませんが、サーバーで実行されているメソッドはパーティを挿入します。

Meteorallowdenyルールは、クライアント側から直接来るものを制御し、サーバー側で実行されているものには適用されません。

于 2013-01-27T13:56:06.443 に答える