【发布时间】:2015-06-23 09:53:11
【问题描述】:
我们正在开发一个 Rails 应用程序,它将作为多个应用程序的后端。 Rails 应用程序将有一个网络 CMS,允许管理员用户管理他们的移动应用程序(一个管理员用户可以拥有 1..N 个移动应用程序)。
同样的 Rails 应用也将作为这些移动应用的 API。移动应用程序彼此完全分离,彼此之间不共享任何数据。我们有不同角色的用户(global_admin 在 CMS 中管理他的应用,place_manager 在 CMS 中管理他在应用中的位置,以及 users 的移动应用程序)。这些用户不会在应用程序之间共享(如果用户在移动应用程序中注册,他将能够仅在该应用程序中登录;因此,如果他想登录另一个移动应用程序,他需要重新注册)。
实现这一目标的最佳方法是什么?我们正在考虑:
- 选项 1:我们可以有一个
User模型,在不同的应用程序上具有不同的角色(global_admin在应用程序 1 上,user在应用程序 2 上,manager在应用程序 3 上......)。如果用户注册了应用 1,则会创建一条记录,而如果他注册了应用 2,我们只会为其添加一个角色,但他认为他创建了一个新帐户。李> - 选项 2:我们可以在每个应用上为每个用户创建一条记录(取消电子邮件字段的唯一性约束)
- 选项 X:想法?
提前谢谢你
【问题讨论】:
-
您的移动应用程序是否共享相同的 API 结构?
-
是的,它们是 100% 相等的
标签: ruby-on-rails