解析具有角色的用户

时间:2015-03-13 14:19:28

标签: ios parse-platform acl user-roles

我试图了解如何通过Parse实现这一目标的概念。

个人训练应用

工作室获取应用程序来管理他们的客户和培训师。

因此我们有角色。

  1. Studio Manager 该用户可以查看应用程序中的所有数据,他们可以编辑客户详细信息,添加客户等。他们可以重要地查看所有培训师,看看他们看到了多少客户等。

  2. 培训师 该用户只能访问他们执行的会话,他们无法看到其他培训师看到的客户端数量。培训师的角色仅适用于该特定培训师。

  3. 那么如何完成?

    我假设Manger设置了他的应用程序,然后创建链接到他的帐户的用户帐户?我想这可以通过创建用户屏幕完成,管理员可以在其中创建培训师。但是,培训师将无法使用此选项。角色将是Trainer,因此创建新用户屏幕将不是一个选项。

    例如,Manager用户和他们的培训师之间的链接是如何维护的。因为会有很多经理人设置帐户,有很多培训师。这些关系如何最好地建立起来?我不希望一个工作室的经理能够看到另一个工作室的所有细节等。

    这是否像管理者用户一样简单"属性"所有其他用户(他的培训师)所以他只能获取并查看这些用户?

    然后你进入ACL与CLP - 我认为课程级别适合我的应用程序? This提供了2

    的比较

    很抱歉这个冗长的问题,但任何建议都会很棒。这post给了我一些想法......

1 个答案:

答案 0 :(得分:1)

创建名为:Managers的ACL组。应该在那里添加所有新经理。

对于您的所有新数据,您将设置ACL权限,如下所示:

"Client Apple" => "ACL":{"managers":{"read":true},{"write":true},"trainer ObJectId:",{"read":true}}

经理可以阅读写这个客户端,只有创建此客户的培训师才能阅读。

Client *privateData = [PFObject objectWithClassName:@"Client"];
private.name = @"Client Apple";

PFACL *acl = [PFACL ACLWithUser:[PFUser currentUser]];
[acl setPublicWriteAccess:NO];
[acl setPublicReadAccess:NO];
[acl setWriteAccess:YES forUser:[PFUser currentUser]];
[acl setReadAccess:YES forUser:[PFUser currentUser]];
[acl setReadAccess:YES forRoleWithName:@"managers"];
[acl setWriteAccess:YES forRoleWithName:@"managers"];

[privateData setACL:acl];