要使用 cancan 在 Rails 中创建支持授权的应用程序,由开发人员决定使用什么角色方法。现在我需要找出最适合我的情况 - 这是传统的每个用户一个角色的模型。
我发现的方法似乎与我非常相似。我想知道在选择角色模型时是否真的存在技术差异,还是只是偏好问题?如果存在技术差异,那么在选择一种或另一种模型时有哪些权衡,特别是在缩放方面?
我可以找到一些可能的模型:
对于在评论中比较这些方法的文章点数表示赞赏,因为我找不到太多比较它们的材料。
要使用 cancan 在 Rails 中创建支持授权的应用程序,由开发人员决定使用什么角色方法。现在我需要找出最适合我的情况 - 这是传统的每个用户一个角色的模型。
我发现的方法似乎与我非常相似。我想知道在选择角色模型时是否真的存在技术差异,还是只是偏好问题?如果存在技术差异,那么在选择一种或另一种模型时有哪些权衡,特别是在缩放方面?
我可以找到一些可能的模型:
对于在评论中比较这些方法的文章点数表示赞赏,因为我找不到太多比较它们的材料。
如果每次使用只需要一个角色,请使用最简单的方法。
ROLES = %w{System\ Admin Admin Customer Etc}
角色助手:
ROLES.each do |role_name|
define_method "#{role_name.downcase.tr(" ", "_")}?" do
role == role_name
end
end
如果需要,您可以在未来轻松利用更复杂的选项。