0

我还在学习 Rails,但面对这个项目:Web 解决方案应该由三部分组成 - 网站、合作伙伴部分和管理面板。合作伙伴和管理面板部分应作为子目录(客户要求)提供,如下所示:

somesite.com
somesite.com/partners/
somesite.com/admin/

我决定使用通用模型和业务逻辑制作三个独立的应用程序,并使用Passenger 和Apache 以上述方式部署它们。

在数据库中应该有两个模型:(Admin仅适用于管理员)和User(相当胖的模型,用户和合作伙伴通用,因is_partner字段而异)。因为这些模型对所有三个站点都是通用的,所以我决定将它们放在 Rails 引擎中,然后为每个应用程序使用适当的模型。但是现在我遇到了选择合适的身份验证模块的问题。

你能建议一个吗?我应该尝试使用一些已经存在的解决方案还是我最好必须实现自己的身份验证?或者可能是我对这个项目的整个方法从一开始就错了?

谢谢你。

4

1 回答 1

0

我会使用一个User模型,因为您不需要复制任何逻辑,并使用三个角色:用户、合作伙伴和管理员,除非管理员与其他用户截然不同。对于身份验证,我建议使用Devise,这是 Rails 的首选身份验证系统。对于授权,我建议CanCan

如果您正在寻找预制的管理界面,请尝试RailsAdminActiveAdmin。RailsAdmin 使用简单且易于配置,但定制性不太强,而 ActiveAdmin 使用起来有点困难,但可定制性更强。它们都与设计集成在一起。

于 2014-02-19T16:10:36.970 回答