android - 使用 ParseRoles 管理组间的管理员用户角色

标签 android parse-platform user-roles

我刚开始使用 Parse.com 一周,我正在使用它来编写一个简单的 Android 应用程序。我正在寻找有关如何处理涉及用户角色的特定多对多关系的一些建议。

所以我的应用基本上由用户和组组成。现在一个User可以属于多个Group,一个Group可以有多个User。这是一个经典的多对多问题,我相信我可以使用此处描述的内容来实现:

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

但是,我对此有一点小小的看法。用户也可能是他们所属的某些组中的管理员,使他们能够执行一些附加功能,同时在其他组中是普通用户。我最初想到使用两种不同的关系,一种用于“用户”,一种用于“管理员”。但后来我在定义角色和访问时偶然发现了 ParseRoles。

但是,我对是否可以使用 ParseRoles 来实现用户可以是某些组而不是其他组的管理员的情况感到困惑,因为在我看来,ParseRoles 定义了一个“全局”角色,可以扩展到应用程序。但我可能错了。

非常感谢对此的任何帮助。干杯!

最佳答案

有两种方法:

(1) 使用parse __Role类,为每个组定义一个admin __Role。您将创建一个通用管理员 __Role,并在创建(和销毁)组时,通过更改它的 roles 关系向通用角色添加(和删除)子角色。 (例如,在创建 GroupA 时,创建并保存一个名为 GroupAAdmin 的通用管理员角色的子级)。

然后,您将为每个组对象指定一个 ACL,该 ACL 指定该组管理员角色成员的权限。可能主要是编写该组对象的能力。

(2) 想法(1) 意味着你需要非常擅长操纵角色和ACL,设置一个可以管理角色的角色,afterSave 钩子(Hook)等等...几个挑战其中,如果您以前没有做过这些事情。

更简单但安全性和功能性较差的方法是,您可以为每个组提供另一个名为 admin 的属性,它是指向 __User 的指针。然后让您的应用负责在采取任何修改组的操作之前检查当前用户是否等于组的管理员用户。

关于android - 使用 ParseRoles 管理组间的管理员用户角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31371263/

相关文章:

c# - Asp.net Web 应用程序基于角色的身份验证

Android 复选框样式

android - 如何强制 editText 不要以空格开头

android - 如果我的函数调用异步函数,是否会迫使我让我的函数返回 Future?

ios - Parse.com PFLoginView UITextfield 显示问题。不能删除边框?

ios - 使用 Parse 在用户注册时添加个人资料图片 - iOS

ios - Parse.com Facebook 授权从不调用完成处理程序

php - 尝试颠倒在 WordPress 用户部分的选择器中找到的用户角色的顺序

apache - 如何向 Apache tomcat 8 中的管理员用户添加多个角色?

javascript - 背景图片占据整个屏幕