Parse.com设置用户角色

时间:2014-03-14 07:26:53

标签: javascript android parse-platform

我使用parse.com作为我的Android应用程序的后端。我需要帮助来解决以下场景。我想做一些访问控制。该应用程序将包含以下用户:超级管理员,管理员,主持人和编辑者。超级管理员可以创建许多管理员(每个管理员都有自己的组),管理员可以在其中创建主持人和编辑者。现在我想为这些用户设置ACL,其中一个组无法读取或写入另一个组的数据。这个场景是否有任何简单的例子。

                                      SUPER ADMIN
                        |------------------|--------------------|
                        |                  |                    |
                 ADMIN(Group A)     ADMIN(Group B)       ADMIN(Group C)
                     |                     |                    |
                     |-Moderator           |-Moderator          |-Moderator
                     |                     |                    |
                     |-Editor1             |-Editor1            |-Editor1
                     |                     |                    |
                     |-Editor2             |-Editor2            |-Editor2
                     |                                          |
                     |-Editor3                                  |-Editor3

2 个答案:

答案 0 :(得分:4)

是的,你可以这样做。角色使用ACL就像其他对象一样。我认为文档中的示例可以回答您的大部分内容:

https://parse.com/docs/android_guide#roles

如果您在解决方案时遇到问题,请尝试并在此处查看具体问题。

从文档中删除:

// By specifying no write privileges for the ACL, we can ensure the role cannot be altered.
ParseACL roleACL = new ParseACL();
roleACL.setPublicReadAccess(true);
ParseRole role = new ParseRole("Administrator", roleACL);
role.saveInBackground();

ParseRole role = new ParseRole(roleName, roleACL);
for (ParseUser user : usersToAddToRole) {
  role.getUsers().add(user)
}
for (ParseRole childRole : rolesToAddToRole) {
  role.getRoles().add(childRole);
}
role.saveInBackground();

答案 1 :(得分:1)

这是我用于读写的内容,但是使用ParseACL对象,您可以设置所需的一切。

 ParseACL defaultACL = new ParseACL();
 defaultACL.setPublicReadAccess(true);
 ParseACL.setDefaultACL(defaultACL, true);