0

node.jsサーバーからのデータへの変更を傍受し、他のクライアントに保存/同期する前にそれらを検証/変更するソリューションに取り組んでいます。

現在のコードベースでこれを解決する方法に関する戦略や提案はありますか?

現在、唯一のオプションは、同期後の操作を書き直すことのようです。これは、おそらく各クライアントが (サーバーを含む) 同期を受信し、サーバーがデータを書き換えて 2 回目の同期をトリガーすることを意味します。

質問の文脈を理解するのを助けるために、私のニーズにとって理想的な戦略のように見えるものは次のとおりです。

  • サーバーは、クライアントが利用できない特別なトークン/キーを取得します(セキュリティが発生した場合)
  • サーバーは次のような依存性注入を登録しますfirebase.child('widgets').beforeSync(myCallback)
  • クライアントはデータを同期します
  • サーバーコールバックが通知されます
  • サーバーがデータを変更または検証する
  • 有効な場合は、同期操作のためにそれを firebase に返します
  • 無効な場合、クライアントに返されるエラーで同期を中止します
4

1 に答える 1

1

アイデアを共有していただきありがとうございます。

このタイプのアプローチを検討しました。「未検証」ツリーと「検証済み」ツリーが存在するようにデータを構造化することで、この種の動作を実際にシミュレートできます。

「検証されていない」ツリーはクライアントによって書き込み可能になり、サーバーは変更を監視します。変更が発生すると、データが検証され、合格した場合は、サーバーによってのみ書き込み可能な「検証済み」ツリーにコピーされます。検証が失敗した場合にも、Firebase データを介してクライアントにエラーを返すことができます。

この動作は、記述した動作を提供するライブラリにパッケージ化できます。これもコア機能として追加する可能性がありますが、まださまざまなオプションを調査中です。

于 2012-06-25T18:25:29.290 に答える