Meteor:客户端数据变动操做

关于客户端进行数据变动操做,meteor提供了两套机制:前端

  1. 客户端CRUD+服务端deny/alllow
  2. 服务端methods

CRUD操做的层次是在数据模型级别,而methods的操做层次是在业务级别,这也对应了它们的权限控制级别。我的认为,在客户端直接进行CRUD操做(数据模型级别的操做),表面上灵活不少,可是很难进行权限控制,很容易暴露安全问题,并所以反而增长程序复杂度。所以,客户端对数据的修改,应该所有由methods进行一次业务级别的隔离。后端

固然,使用collection2或collection-hooks进行模型定义或数据模型级别的保护也是不错的,可是应该意识到,它们的保护做用,是面向后端业务(methods),而不是直接面向前端调用。安全

至于前端methods,主要做用是延迟补偿,不在此讨论。权限控制

相关文章
相关标签/搜索