multi-tenant - 为多租户应用程序设计 UI
问题描述
我们正在为 Web 应用程序开发具有共享模式的多租户应用程序。我想知道设计 UI 策略的最佳实践。
我们将为 saas 所有者提供不同的角色,例如管理员、帮助台、客户经理,因此 SAAS 所有者可能需要多个用户来访问应用程序并完成他们的工作。
HelpDesk:如果租户提出工单,Helpdesk团队应该能够查看和解决。
账户管理:账户经理可能需要访问租户的付款信息以跟踪租户。
ServiceManagers:执行维护和升级等。
在这种情况下
我们是否需要为“Saas 所有者”和“租户”提供不同的 UI,还是使用权限和角色来管理它更好?
有什么最佳实践吗?
解决方案
交付方式有很多方面需要决定
- 如果您更喜欢使用
Micro FrontEnds
,管理员和租户功能可以分开。然而,像帮助台、账户管理这样的个别功能可以是一个单独的微前端 - 租户应该可以选择给 UI 贴上白标签(自定义徽标、自定义主题、自定义布局(更多开发工作))等。
无论有没有微前端,您的 UI 层都应该基于作为用户角色聚合(甚至跨租户)的权限工作。
UI 始终对 API 进行探测以获取权限并根据授予用户的权限呈现各种 UI 组件。
我们曾经构建自定义 UI 组件,如自定义网格、自定义表单等,以便可以根据用户可能拥有的权限使用权限来显示或隐藏各种 UI 元素。
例如:在管理员的上下文中,我将能够看到所有团队成员,但在 a 的上下文中,我将Service Administrator
能够将成员分配到各种租户功能,如帮助台、会计等Administrator
执行,但可以查看映射。
同样,您的业务需求将驱动 UI,因此如果您按照permissions
UI 使用,它总是very fine-grained
比依赖于更高级别的抽象(如Roles
.
高温高压
推荐阅读
- xml - 如何在 XSLT 中聚合值?
- reactjs - TestCafé + React JSX 错误(意外的令牌)
- azure - 查询 Azure 云服务暂存槽是否预配了 VM
- c# - .editorconfig 错误/警告仅显示打开的文件
- python - 在树莓派 3 上为 docker 安装 OpenCV
- python - Sympy 集成错误:无法将符号转换为 int
- python - 如何处理多个功能的过滤器?
- python - 如何使用 baggingregressor 进行特征选择?
- python - 如何根据python中的地图将rgb值转换为整数
- c++ - 带有地址但不引用地址的 C++ 指针