Rails:用户可以使用不同的权限创建其他用户

问题描述:

这可能是已经问过的问题的重复,但我还没有找到适合我的情况的问题。Rails:用户可以使用不同的权限创建其他用户

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

USER:

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

Thanx提前。如果需要,请随时索取更多的细节。我对这种方法的正确性表示无知。

P.S:这里的Rails新手。

+0

嘿downvoter,你能告诉我这个问题怎么了? – Aakanksha

你应该使用宝石设计,cancancan & rolify。 点击这里查看参考文献https://github.com/RolifyCommunity/rolify/wiki/Devise---CanCanCan---rolify-Tutorial

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

+0

这是我不想要的。你看,据我了解,我会需要预定义的角色,但我没有在我的系统中。除用户外,没有哪个用户肯定有权编辑或创建新用户。如果我在这里不清楚,我很抱歉。 – Aakanksha

+0

使用rolify创建角色没有问题,但如果你想要上面的解决方案,那么你需要在设计中的用户模型中添加一个字段“角色”来注册.https://github.com/plataformatec/devise/wiki/How - 要: - 允许用户登录使用他们的用户名或电子邮件地址 –

+0

我没有任何问题添加字段到设计中的用户表。它的有趣的东西,我已经掌握了它。或者我认为我有。我会在你深深地建议的答案中寻找。同时我也会等待其他建议。 Thanx – Aakanksha