gpt4 book ai didi

javascript - 如何拒绝获取操作的访问

转载 作者:行者123 更新时间:2023-12-02 15:42:47 25 4
gpt4 key购买 nike

我正在尝试在 Meteor 中创建文档级别的访问控制系统,但我似乎缺少如何阻止用户获取文档。

我已阅读有关 collection.allowcollection.deny 的文档。通过这些对象,我们可以控制“谁”可以更新删除插入。问题是 Meteor 似乎没有为 fetch 操作提供类似的功能。 拒绝未经授权的用户阅读文档的正确方法是什么?

额外要求:这需要在服务器端进行,以便我们不会通过网络向未经授权的用户泄露文档。

最佳答案

一旦收集数据到达客户端,就无法拒绝读取该数据。理论上,没有办法在客户端上实际执行任何,因为用户可以修改代码。但是,您可以强制发布哪些文档。

发布函数可以处理任意复杂的授权规则。下面是一个简单的示例,我们希望仅将 Messages 集合中的文档发布给属于给定组成员的用户:

Meteor.publish('messagesForGroup', function(groupId) {
check(groupId, String);

var group = Groups.findOne(groupId);

// make sure we have a valid group
if (!group)
throw new Meteor.Error(404, 'Group not found');

// make sure the user is a member
if (!_.contains(group.members, this.userId))
throw new Meteor.Error(403, 'You are not a member of the group');

return Messages.find({groupId: groupId});
});

关于javascript - 如何拒绝获取操作的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32446266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com