我试图了解如何通过Parse实现这一目标的概念。
个人训练应用
工作室获取应用程序来管理他们的客户和培训师。
因此我们有角色。
Studio Manager 该用户可以查看应用程序中的所有数据,他们可以编辑客户详细信息,添加客户等。他们可以重要地查看所有培训师,看看他们看到了多少客户等。
培训师 该用户只能访问他们执行的会话,他们无法看到其他培训师看到的客户端数量。培训师的角色仅适用于该特定培训师。
那么如何完成?
我假设Manger设置了他的应用程序,然后创建链接到他的帐户的用户帐户?我想这可以通过创建用户屏幕完成,管理员可以在其中创建培训师。但是,培训师将无法使用此选项。角色将是Trainer,因此创建新用户屏幕将不是一个选项。
例如,Manager用户和他们的培训师之间的链接是如何维护的。因为会有很多经理人设置帐户,有很多培训师。这些关系如何最好地建立起来?我不希望一个工作室的经理能够看到另一个工作室的所有细节等。
这是否像管理者用户一样简单"属性"所有其他用户(他的培训师)所以他只能获取并查看这些用户?
然后你进入ACL与CLP - 我认为课程级别适合我的应用程序? This提供了2
的比较很抱歉这个冗长的问题,但任何建议都会很棒。这post给了我一些想法......
答案 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];