为多租户应用程序设计 UI

Designing the UI for a Multitenant Application

我们正在为 Web 应用程序开发具有共享架构的多租户应用程序。我想知道设计 UI 策略的最佳实践。

我们将为 saas 所有者设置不同的角色,例如管理员、帮助台、客户经理,因此 SAAS 所有者可能需要多个用户来访问应用程序并完成他们的工作。

HelpDesk:如果租户提交工单,Helpdesk 团队应该能够查看并解决。

账户管理:客户经理可能需要访问租户的付款信息以跟进租户。

ServiceManagers:执行维护和升级等

在这种情况下

"Saas owner" 和 "Tenants" 我们需要不同的 UI 还是用权限和角色来管理它更好?

有什么最佳做法吗?

有很多方面可以决定交付方式

  1. 如果您更喜欢使用 Micro FrontEnds,管理和租户功能可以分开。然而,像帮助台、账户管理这样的个别功能可以是一个单独的微前端
  2. 租户应该可以选择对 UI(自定义徽标、自定义主题、自定义布局(更多开发工作))等进行白标

有或没有微前端,您的 UI 层应该基于作为用户角色聚合(甚至跨租户)的权限工作。

UI 始终探测 API 以获取权限并根据授予用户的权限呈现各种 UI 组件。

我们过去常常构建自定义 UI 组件,如自定义网格、自定义表单等,以便可以根据用户可能的权限使用权限来显示或隐藏各种 UI 元素拥有。

示例:在管理员的上下文中,我将能够看到所有团队成员,但在 Service Administrator 的上下文中,我将能够将成员分配给各种租户功能,例如帮助Administrator 无法执行但可以查看映射的办公桌、会计等。

同样,您的业务需求将推动 UI,因此,如果您遵循对 UI 使用 permissions,它始终是 very fine-grained 且易于管理而不是依赖更高层次的抽象,如 Roles.

HTH