2015-07-12 142 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

我同意 - 第一种方法更复杂,考虑到我只是想在家人和朋友之间对此进行原型设计。我可能会尝试第二种方法,并让我知道如果我有任何问题。谢谢! –

相关问题