【发布时间】:2018-10-31 14:19:57
【问题描述】:
我对如何正确设置 Rails 应用程序的模型有疑问。我将使用 gem Apartment 进行多租户,使用 gem Devise 进行身份验证。
我想要实现的是我将拥有 3 个用户级别。 管理员、所有者和用户。
基本上,管理员会处理站点中的所有所有者,他可以添加、编辑和删除所有者。假设 admin 拥有整个网站 (https://example.com)。
所有者将处理用户,他可以添加、编辑和删除用户。如果 admin 拥有 (https://example.com),则 owner 仅拥有 (https://owner1.example.com)。
每个子域都有自己的用户,由所有者处理。并且所有所有者都由 admin 处理。
我目前想出的是两个模型。
- 网站帐号
- 用户帐户
WebsiteAccount 将包含 subdomain 和 owner_name 列。 UserAccount 将拥有 email、password 和 user_level。其中 user_level 可以是 owner 或 user。
然后该设计将用于 UserAccount 模型。 UserAccount 模型将仅显示基于子域的数据。
现在的问题是 admin 帐户在哪里?
我是否要为其创建一个单独的模型并在其上使用 Devise gem?
【问题讨论】:
-
您说的是“超级管理员”,或所有租户应用程序的管理员。这通常是具有不同标志的普通用户,或者是表示超级管理员身份的“内部帐户”的成员资格。
标签: ruby-on-rails ruby devise multi-tenant apartment-gem