【问题标题】:How to design multi-organization application?如何设计多组织应用程序?
【发布时间】:2022-01-28 00:39:41
【问题描述】:

我和我的团队正在开发一个类似saas的平台,主要关注用户可以登录的组织,选择他想要管理的组织(用户可以被分配到多个“组织” "),然后为所欲为(添加/邀请用户、添加资源等)。但经过一番研究,我意识到存在“多租户”应用程序之类的东西,现在我想知道我们是否做得对。

现在我们将整个应用程序视为一个租户(嗯,实际上没有租户)并通过 URL 中的 ID 识别组织(并非每个资源都有“organizationId”字段,并且一半的资源没有前缀 /路径中的组织/:id)。然后在后端,我们检查用户是否有权访问组织(以及可选的组织中的角色)。

问题是,我们是否应该重写结构并假设租户 = 组织? 它将简化身份验证部分,我们会将角色检查部分移至控制器级别,因为我们会将 TenantID 存储在 jwt 中,并在每个现有资源上使用全局查询过滤器。

【问题讨论】:

    标签: .net api architecture multi-tenant saas


    【解决方案1】:

    我建议您根据构建应用程序的域在帖子中添加更多上下文。

    方面 1 如果您已构建此应用程序供您内部使用,例如Google,拥有Google USAGoogle Europe 等组织。这些组织可以在Google USA 下拥有Google - CAGoogle - WA 等子组织。在这种情况下,当前的实现就足够了。

    方面 2 但是,如果计划构建一个多租户平台来支持 MetaMicrosoft 等可以利用您的应用程序的租户,以用于他们自己的组织(如 Microsoft-USAMicrosoft-Asia 等),则可以选择重写应用程序以包含多租户更有意义。随之而来的是构建更通用的组织、层次结构、角色以及所有这些都适合租户的成本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 2011-02-12
      相关资源
      最近更新 更多