node.js - 使用 JS SDK 在 Parse Server 中查询类的权限被拒绝
问题描述
我使用Parse Dashboard在我的Parse Server中创建了一个类,然后我更改了Class Level Permissions以仅允许一个用户在该类的文档中执行读写操作:
应该有权访问此类的用户也是通过 Parse Dashboard 手动创建的,它看起来像这样:
但是,当我尝试从这个类中查询文档时,特别是使用这个用户,我不断收到错误消息“Permission denied for action find on class Person”。这就是我登录和查询类的代码的样子:
const Person = Parse.Object.extend('Person')
Parse.Object.registerSubclass('Person', Person)
Parse.User.logIn('username', 'password').then(user => {
console.log('E-mail: ' + user.getEmail())
console.log('Created: ' + user.createdAt)
console.log('Current: ' + user.isCurrent())
console.log('Authenticated: ' + user.authenticated())
const query = new Parse.Query(Person)
query.equalTo('name', 'John')
return query.find()
})
我包含了一堆console.log
's 来检查正在打印的有关用户的哪些信息,并且我确认登录似乎成功完成,因为这些字段email
与createdAt
我在 Parse Dashboard 中看到的信息相匹配。但是,该字段authenticated
和current
都返回false
,但我不知道为什么。我期待他们回来true
。
这是应用程序中我尝试登录 Parse Server 并执行仅限于一个用户的操作的唯一位置。知道为什么我会收到此“Permission denied for action find on class Person”错误吗?
解决方案
我想这与安全有关。通常 Parse 不会允许用户获取有关任何其他用户的数据,除非您执行某些操作 - 例如 - 从仪表板允许它。但无论如何,我想你必须一件一件地去做。
推荐阅读
- twitter-bootstrap - 如何从 Bootstrap 4 表单上的错误消息中删除空格
- python - 如何解码 gerrit 代码审查 rest api 响应
- react-native - 带有反应导航的反应原生:标题未显示在屏幕中
- bash - 如何在 Unix 中提取第三大文件大小
- jquery - 用轮播隐藏溢出
- php - Laravel 无法声明类 Symfony\Component\HttpFoundation\AcceptHeader,因为该名称已在使用中
- c++ - cocos2d-x 每次我需要它或只是改变它的纹理时制作一个精灵的最佳实践是什么?
- scala - 在特征中实现子类型会引发错误“预期的类或对象定义”
- javascript - 这个基于 Python 的 Javascript 比较解决方案的等价物是什么?
- ios - 如何在表格视图单元格之前按时加载 Http 请求