Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是 Rails 世界的初学者,所以希望我能在这里找到答案。我正在处理的项目必须具有角色的用户授权,适用于简单用户和管理员。使用管理员权限,我希望能够为简单用户重置密码或为他们添加角色。
我试图将设计与康康康宝石一起应用,但不幸的是,无法使其工作,我不确定这是否可能。所以我的问题是你会推荐哪些宝石有这样的行为。还是从头开始更简单?
谢谢您的回答。
听起来您会从 Rolify Gem 中受益:https ://github.com/RolifyCommunity/rolify 。我很确定 CanCan 是基于角色的访问控制。我猜你已经看过这个 RailsCast:http: //railscasts.com/episodes/192-authorization-with-cancan但看起来你缺少的是 Rolify。这是一个伟大的宝石,非常容易使用。
我使用Pundit和 Devise
这是应用程序的回购
添加宝石和捆绑。运行rails g pundit:install 它将生成一个包含 application_policy.rb 文件的策略文件夹。在那里您可以定义操作的条件。假设您想确保用户的角色是管理员以查看应用程序索引 def index? user.role == "admin" end 如果您想为不同的资源创建策略,例如帖子。您必须在策略文件夹中创建一个 post_policy.rb 文件
rails g pundit:install
def index? user.role == "admin" end