Rails 4具有角色的身份验证模型

时间:2015-05-16 17:54:15

标签: ruby-on-rails ruby-on-rails-4 devise ruby-on-rails-4.2 cancancan

我是Rails世界的初学者,所以希望我能在这里找到答案。 我正在开发的项目必须具有角色的用户授权,适用于简单用户和管理员。使用管理员权限,我希望能够为简单用户重置密码或为其添加角色。

我试图将Devise与cancancan宝石一起使用,但不幸的是,它无法使其工作,我不确定这是否可行。所以我的问题是你会推荐哪些宝石有这样的行为。或者从头开始更简单?

感谢您的回答。

2 个答案:

答案 0 :(得分:1)

听起来你会从Rolify Gem中受益:Why is Glimpse still running。我非常确定CanCan是基于角色的访问控制。我猜你已经看过这个RailsCast:https://github.com/RolifyCommunity/rolify但是看起来你缺少的是Rolify。它是一颗伟大的宝石,非常易于使用。

答案 1 :(得分:0)

我使用了Pundit和Devise

This is the repo to the application

添加gem和bundle。运行rails g pundit:install 它将生成一个包含application_policy.rb文件的策略文件夹。在那里,您可以为操作定义条件。假设您要确保用户的角色是admin以查看应用程序索引 def index? user.role == "admin" end 如果要为其他资源创建策略,请说帖子。您必须在policies文件夹

中创建post_policy.rb文件