如何创建可以创建具有某些限制的其他用户的用户?

时间:2014-04-19 22:12:02

标签: database postgresql ruby-on-rails-4 devise cancan

我很抱歉我无法加载图片来解释关系,但我需要更多的街头信誉才能这样做。

我正在使用Rails 4和Devise 3.我想为我的用户创建一个基于家庭角色的某些限制的家庭关系。

用户(我们将称之为MainUser)可以创建一个家庭并将家庭成员添加到该家庭。但是,我希望这些家庭成员都是新用户(我们将调用ChildUser)。我的想法是,我不希望ChildUser首先拥有以任何方式登录/访问网站的任何权限。它们只存在,因为MainUser。他们的信息将完全控制MainUser。随着年龄的增长,MainUser可能希望允许ChildUser获得某些权限,例如登录其帐户。最终,ChildUser将希望拥有对其帐户的完全访问权限,不再受MainUser的限制。他们仍然希望成为MainUser家族的一部分(其中MainUser控制),但他们也想创建自己的家庭(ChildUser可以控制)。现在循环可以重复,ChildUser可以为他们的家人创建GrandChildUsers。

我没有使用过CanCan但是已经阅读了它的用例,我觉得它对我有用,但我想对此有一些概念和技术指导。

有没有人创建过类似的用户关系?

1 个答案:

答案 0 :(得分:0)

您可能希望分别查看role-based access controlaccess control lists,也称为RBAC和ACL。

如果你不熟悉这个话题,你可能会发现这个挑衅性的话题很有趣:

http://vimeo.com/2723800

另见SO: