2015-07-12 149 views
1

我只是使用Parse.com一個星期,而我正在使用它來編寫一個簡單的Android應用程序。我正在尋找一些關於如何處理涉及用戶角色的特定多對多關係的建議。我的應用程序基本上由用戶和組組成。現在用戶可以屬於多個組,並且一個組可以有多個用戶。這是一個典型的多到很多問題,我相信我可以用什麼這裏描述實施:使用ParseRoles管理組中的管理員用戶角色

https://www.parse.com/docs/android/guide#relations-many-to-many

不過,我有一個輕微扭到這一點。用戶也可以是他們所屬團體的管理員,使他們能夠執行一些額外的功能,同時成爲其他團隊中的普通用戶。我最初想到使用兩種不同的關係,一種是「用戶」,一種是「管理員」。但後來我偶然發現了ParseRoles定義角色和訪問權限。

但是,我很困惑是否可以使用ParseRoles來實現用戶可以成爲某些組中的管理員而不是其他人的情況,因爲在我看來,ParseRoles定義了一個'全局'角色,它可以擴展整個應用程序。但我可能是錯的。

任何幫助,這是非常感謝。乾杯!

+0

嗨,是你能夠實現以下所述的第二種方法?你是怎麼做到的? –

+0

HI約翰,我實際上放棄了這一點,並開始在別的東西上工作...... –

回答

3

有兩種方法去:

(1)使用解析__Role類,並定義管理員__Role每個組。您可以創建一個通用的管理__Role,並作爲創建組(和銷燬),通過改變它的roles關係添加(和刪除)子角色的通用角色。 (例如,在創建GroupA時,創建並保存名爲GroupAAdmin的通用管理員角色的子項)。

然後,您會爲每個組對象指定一個ACL,以指定該組管理員角色成員的權限。可能主要是編寫該組對象的能力。 (2)想法(1)意味着你需要非常善於操縱角色和ACL,設置一個角色,可以管理角色,afterSave鉤子等等......其中的幾個挑戰,以前做過這些事情。

更簡單,但不太安全,功能少,你可以給每個組的另一個屬性名爲admin,這是一個指向__User。然後給你的應用程序有責任檢查,採取任何行動修改組,當前用戶是否等於該組的管理員用戶之前。

+0

我同意 - 第一種方法更復雜,考慮到我只是想在家人和朋友之間對此進行原型設計。我可能會嘗試第二種方法,並讓我知道如果我有任何問題。謝謝! –

相關問題