2015-03-13 84 views
0

我試圖讓我的頭腦圍繞如何最好地通過解析來實現這一概念。解析具有角色的用戶

個人訓練應用

一室獲取應用程序來管理他們的客戶和他們的教練。

因此我們有角色。

  1. 工作室經理 此用戶可以查看在應用中的所有數據,他們可以編輯的客戶信息,添加客戶端等,他們可以重要的看所有的培訓師,看看他們有多少客戶看到等

  2. 培訓師 此用戶只能訪問他們執行的會話,他們無法看到其他培訓師看到的客戶人數。培訓師的角色只是針對特定的培訓師。

那麼成就如何?

我假設經理建立他的應用程序,然後創建鏈接到他的帳戶的用戶帳戶?我想這可以通過創建用戶屏幕完成,管理員可以在其中創建培訓師。但培訓師將無法擁有此選項。那裏的角色就是Trainer,所以創建新的用戶屏幕不會是一個選項。

例如,管理員用戶與他們的培訓師之間的關係是如何保持的。因爲會有許多管理人員設立賬戶,並有許多培訓師。這些關係如何最好地建立起來?我不希望在一個工作室的經理人能夠看到另一個工作室的所有細節等。

這就像管理員用戶是所有其他用戶(他的教練員)的「財產」一樣簡單,因此他只能獲取並查看這些用戶?

然後你到ACL和CLP - 我認爲這個課程級別適合我的應用程序? This提供了2

的對比對不起,長期以來的問題,但任何意見將是偉大的。這post給了我一些想法...

回答

1

創建名爲:管理員的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]; 
+0

謝謝你看起來不錯。 – DogCoffee 2015-03-13 21:09:07

相關問題