自 1 周以来,我一直在接受重大审讯。 我有 3 种不同类型的用户:
- 管理员
- 编辑器(需要管理员验证才能在 数据库)
- 简单用户(具有评论、添加收藏夹等基本功能...)
目前我只是安装 gem devise(它很神奇)
那么对您来说,为不同的用户提供不同的权限的最佳实践是什么? 简单 bool 值(用户、管理员、编辑者)? 例如,我需要使用 user_id 为编辑器指定特定帖子? 您知道有一位 gem 可以帮助您做到这一点吗? 您认为可以建立一个管理验证系统来注入(inject)数据库吗? 我如何为编辑帖子创建待处理列表?
这肯定是很多菜鸟问题,但我现在迷失了,所以如果你能帮助我,请:)
谢谢
最佳答案
因为这是一个没有代码示例的通用问题,所以我将在开始解决此问题时建议一种通用方法。
您需要的是康康康 gem :
github.com/CanCanCommunity/cancancan 。
gem提供了可以在rails框架中轻松使用的“授权”框架和功能。
最初的 gem 康康舞也是由 Ryan Bates 创作的。这是一个解释它的精彩视频:
railscasts.com/episodes/192-authorization-with-cancan
此外,如果您是 Rails 初学者,我建议不要在不了解“devise magic”如何工作的情况下使用它。一个好的开始是从头开始尝试身份验证,正如 Ryan bates 在这里简单地解释的那样:
railscasts.com/episodes/250-authentication-from-scratch
这将使理解康康康变得更容易。
关于ruby-on-rails - Ruby on Rails 中基于授权或基于角色的权限入门。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38752765/