首页 > 解决方案 > 使用 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 来检查正在打印的有关用户的哪些信息,并且我确认登录似乎成功完成,因为这些字段emailcreatedAt我在 Parse Dashboard 中看到的信息相匹配。但是,该字段authenticatedcurrent都返回false,但我不知道为什么。我期待他们回来true

这是应用程序中我尝试登录 Parse Server 并执行仅限于一个用户的操作的唯一位置。知道为什么我会收到此“Permission denied for action find on class Person”错误吗?

标签: node.jsparse-serverparse-javascript-sdk

解决方案


我想这与安全有关。通常 Parse 不会允许用户获取有关任何其他用户的数据,除非您执行某些操作 - 例如 - 从仪表板允许它。但无论如何,我想你必须一件一件地去做。


推荐阅读