在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
允许与拒绝Meteor 的安全系统不需要我们在每次修改数据的时候,在各自的函数里面进行手动检查。 例如,对于一个博客系统,我们常常需要做很多操作,往新帖子上添加属性,当发布帖子的时候进行特定检查。这些操作都是围绕帖子(post)这个对象进行的,所以我们应该为帖子设置一个专门的函数进行安全检查。 但在另一方面,我们又不希望为修改帖子或删除帖子这些简单的操作编写特定的函数。我们只需要在这些操作之前,检查用户是否有权限就可以了。这时我们就需要用到允许(allow)和拒绝(deny)回调函数。 这些回调函数可以方便地让我们定义哪些数据可以被修改,哪些可以被删除。另外,这些回调函数还整合了用户系统(account system),用以判断权限。 多个回调函数我们可以根据需要定义多个允许 类似地,我们也可以定义一个或者多个拒绝 <%= diagram "allow_deny", "注:n/e 表示该函数没有被执行" %> 更直观地说,Meteor 从拒绝回调函数开始,然后是 这个模式的一个实际例子就是,建立两个 延迟补偿还记得我们前面说过,数据库的可变函数(例如 这样的行为在控制台上不是问题(开发者可以随意支配数据进行开发)。但是,你需要确保这样的行为不会出现在用户界面上。比如说,你需要确保对于用户不能删除的帖子,用户不会看到删除键。 庆幸的是,你可以在客户端和服务端使用一样的代码进行权限管理(例如,你可以写一个 服务端权限只有来自客户端的数据库操作需要被权限系统验证。服务端的_所有_操作都被认定为安全的,不需要被权限系统验证。 这意味着如果你创建了一个服务端函数 |
请发表评论