我知道有两种实现admins的方法:
- 为用户实体添加管理员角色标志
- 添加一个新的管理实体
我不知道是否还有其他方法
1。这对管理可用性有影响吗?安全?
2。哪一个更容易扩展或维护?
用于特定于rails(但不限于)的子问题
是使用一个预制的管理服务,如active_admin或管理是值得的,从长远来看(重度使用的应用程序,而不是小尺寸),或者它只是更好地使我自己的管理面板和增量添加功能,因为我需要他们?
这个问题的答案取决于您对特定项目的需求。
使用预制管理服务使生活变得更容易,因为你可以做的是通过它们提供的易用性来定制服务,然后在你的应用程序中使用它们。
在ActiveAdmin railcast中,有一个关于ActiveAdmin
的视频,显示了它是如何非常可定制的。除此之外,railscasts
中有各种各样的人根据他们的使用经验发表评论。
这将清楚地给你正确的方向。
batsov也有一篇很好的文章,解释了RailsAdmin和ActiveAdmin之间的区别
简短版本:使用admin角色标志自己做。为了安全起见,不允许大量分配此标志。构建你自己的管理界面,特别是对于一个大项目,没有任何预先制作的东西能满足你的需要。
长版:我实际上没有使用任何预制的管理服务,因为总的来说,我的经验告诉我,我的用户要么是普通/管理员,要么是半管理员。
拥有自己的标志意味着您可以完全控制如何添加管理员用户。
示例:我允许任何具有管理员权限的人将其他人设置为管理员。
Rails允许你快速搭建/构建你自己的自定义管理界面,在这里我看不到任何"现成"的东西,因为最终的结果将是自定义构建,以完全满足你的需求,而不是花费你的时间与一个管理界面,你必须自定义自己。