Meteor:客戶端數據變動操做

關於客戶端進行數據變動操做,meteor提供了兩套機制:前端

  1. 客戶端CRUD+服務端deny/alllow
  2. 服務端methods

CRUD操做的層次是在數據模型級別,而methods的操做層次是在業務級別,這也對應了它們的權限控制級別。我的認爲,在客戶端直接進行CRUD操做(數據模型級別的操做),表面上靈活不少,可是很難進行權限控制,很容易暴露安全問題,並所以反而增長程序複雜度。所以,客戶端對數據的修改,應該所有由methods進行一次業務級別的隔離。後端

固然,使用collection2或collection-hooks進行模型定義或數據模型級別的保護也是不錯的,可是應該意識到,它們的保護做用,是面向後端業務(methods),而不是直接面向前端調用。安全

至於前端methods,主要做用是延遲補償,不在此討論。權限控制

相關文章
相關標籤/搜索