- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Meteor 允许与拒绝
Meteor 允许与拒绝
允许与拒绝
Meteor 的安全系统不需要我们在每次修改数据的时候,在各⾃的函数⾥⾯进⾏⼿动检
查
例如,对于⼀个博客系统,我们常常需要做很多操作,往新帖⼦上添加属性,当发布
帖⼦的时候进⾏特定检查 这些操作都是围绕帖⼦ (post )这个对象进⾏的,所以我
们应该为帖⼦设置⼀个专门的函数进⾏安全检查
但在另⼀⽅⾯,我们又不希望为修改帖⼦或删除帖⼦这些简单的操作编写特定的函
数 我们只需要在这些操作之前,检查⽤户是否有权限就可以了 这时我们就需要⽤
到允许 (allow )和拒绝 (deny )回调函数
这些回调函数可以⽅便地让我们定义哪些数据可以被修改,哪些可以被删除 另外,
这些回调函数还整合了⽤户系统 (account system ),⽤以判断权限
多个回调函数
我们可以根据需要定义多个允许 allow 回调函数 但是我们只需要其中_⾄少有⼀个
_返回 true 就可以让操作通过验证 当 Post.insert 被调⽤时 (⽆论是在我们 app
的客户端代码调⽤,还是在浏览器控制台调⽤),服务器会逐个运⾏为 insert 设置的
允许 (allow )回调函数,直到其中⼀个返回 true 为⽌ 如果这样的允许回调函数不
存在,服务器就不会允许 insert 操作,并给客户端返回⼀个 403 错误
类似地,我们也可以定义⼀个或者多个拒绝 deny 回调函数 如果其中⼀个回调函数
返回 true,操作就会被取消,并且返回 403 这意味着,⼀个成功的 insert 操作要
求⾄少⼀个返回 true 的允许 allow 回调函数,并且_所有_拒绝 deny 回调函数都返
回 false
%= diagram allow_deny, 注:n/e 表⽰该函数没有被执⾏ %
更直观地说,Meteor 从拒绝回调函数开始,然后是 allow 函数,逐⼀执⾏,直到有
⼀个返回 true
这个模式的⼀个实际例⼦就是,建⽴两个 allow() 允许回调函数,⼀个⽤于检查帖
⼦是否属于当前⽤户,另外⼀个⽤于检查当前⽤户是否管理员 如果当前⽤户是管理
员,由于⾄少有⼀个回调函数返回 true,那就确保他们可以更新任何帖⼦
延迟补偿
还记得我们前⾯说过,数据库的可变函数 (例如 .update())使⽤了⼀种延迟补偿
技术 所以,当你尝试从浏览器的控制台删除⼀篇不属于你的帖⼦的时候,你会看到
帖⼦短时间内消失,但马上又会重新出现 这是因为帖⼦并没有真正从后台删除,删
除操作被后台拒绝了
这样的⾏为在控制台上不是问题 (开发者可以随意⽀配数据进⾏开发) 但是,你需
要确保这样的⾏为不会出现在⽤户界⾯上 ⽐如说,你需要确保对于⽤户不能删除的
帖⼦,⽤户不会看到删除键
庆幸的是,你可以在客户端和服务端使⽤⼀样的代码进⾏权限管理 (例如,你可以写
⼀个 canDeletePost(user, post) 函数,把它放在⼀个共享的 /lib ⽂件夹下
⾯),这样做通常不需要太多额外的代码
服务端权限
只有来⾃客户端的数据库操作需要被权限系统验证 服务端的_所有_操作都被认定为
安全的,不需要被权限系统验证
这意味着如果你创建了⼀个服务端函数 deletePost,⽽且这个函数可以被客户端执
⾏,那么任何⽤户都可以删除任何帖⼦了 因此,你可能不想那么做,除⾮你在函数
中也验证⽤户权限
W3Cschool ( )最⼤的技术知识分享与 习平台
此篇内容来⾃于 ⽹站⽤户上传并发布。
您可能关注的文档
最近下载
- 违反中央八项规定精神清单80条PPT深入贯彻中央八项规定精神.pptx VIP
- 大学生心理健康教育(第3版)PPT完整全套教学课件.pptx
- 口腔器械消毒灭菌管理技术操作规范WS506-2016.pdf
- 《管理英语3》边学边练Unit 1-8(答案全).docx VIP
- 国内外流浪动物管理措施及政策的建议论文.pdf VIP
- 年公安局矛盾纠纷排查化解工作总结.ppt VIP
- 2025年道德与法治二轮专题复习课件:5个主题及题型突破复习.pptx
- 抽水蓄能电站安全质量隐患排查检查清单 .pdf VIP
- 数字信号处理第三版李力利习题答案.pdf
- 《二十四节气融入幼儿园课程的实践研究》课题研究方案.doc
文档评论(0)