【问题标题】:Rails: A user can create other users with different set of permissionsRails:一个用户可以创建具有不同权限集的其他用户
【发布时间】:2016-04-25 12:08:46
【问题描述】:

这可能与已经提出的问题重复,但我还没有找到适合我情况的问题。

我正在开发一个系统,其中有一个用户(不是管理员)正在使用 devise 注册自己。我想要的是允许这个用户创建不同的用户并为他们提供不同的权限集(所以不能是预定义的权限,因此,据我所知,不能使用cancan)。为了澄清更多,这是我想出的表结构。如果我在这里走错路,请指导我。

用户:

id,
name,
other-details

权限

id,
name, (name of the section such as gallery, report or users)
create,
edit,
view,
user_id (the user whose permissions are defined here)

这里,createeditview 是用户将拥有的权限。如果edit 为真,他将能够编辑那个特定的section。如果不清楚,我很抱歉。我发现约翰的答案(最后一个)Database schema for ACL 符合我的情况,但我不确定它是否正确。另外,我不确定如何实现那里提到的SET

提前谢谢。如果需要,请随时询问更多详细信息。我不知道这种方法有多正确。

P.S:这里是 Rails 的新手。

【问题讨论】:

  • 嘿downvoter,你能告诉我这个问题有什么问题吗?

标签: ruby-on-rails devise


【解决方案1】:

你应该使用 gem devise , cancancan & rolify 。 在此处查看参考资料https://github.com/RolifyCommunity/rolify/wiki/Devise---CanCanCan---rolify-Tutorial

你应该在ability.rb文件中添加你所有的角色和权限

【讨论】:

  • 这是我不想要的。据我了解,您会看到,我需要预定义的角色,但我的系统中没有。除了用户之外,没有一个子用户一定会拥有编辑或创建新用户的权限。如果我在这里不清楚,我深表歉意。
  • 使用 rolify 创建角色没问题,但是如果你想要上面的解决方案,那么你需要在用户模型中添加一个字段“角色”以进行注册。github.com/plataformatec/devise/wiki/…
  • 我在设计的用户表中添加字段没有问题。它很有趣,我已经掌握了它。或者我想我有。我会在你深入建议的答案中寻找。同时,我也会等待其他建议。谢谢
  • 另外,我不想要角色。 USER 表中的角色只是标识父用户或子用户。请参阅我更新的帖子。
猜你喜欢
  • 2014-06-04
  • 2016-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-07
相关资源
最近更新 更多