gpt4 book ai didi

django - Multi-Tenancy 架构 :dynamic api routing using django restframework

转载 作者:行者123 更新时间:2023-12-02 08:21:09 27 4
gpt4 key购买 nike

我是 Multi-Tenancy 架构的新手,正在使用 django-tenant-schema 开发 SaaS 产品

我的要求是客户注册产品。对于每个注册的客户,我都通过遵循单一数据库和隔离模式方法来创建新模式。每当客户端从浏览器请求时,我都可以通过使用子域并授予访问其特定架构的权限来识别它们。当我开始编码时,我的脑海中突然出现了很多问题。我真的很抱歉在这里问这个问题,但 stackoverflow 只是我最后的希望。数据库如下所示

数据库

  • 公共(public)架构
    • auth_user
    • Clients_List_Table
  • ClientA_Schema
    • auth_user
    • ClientA_User_List
  • ClientB_Schema
    • auth_user
    • ClientB_User_List

Q1.我们可以对每个客户端执行什么样的管理操作?

我有rest api,例如 http://client.example.com/api/user_list/ 这里的客户端可能是 ClientA 或 ClientB

第二季度。我们如何实现 api 路由,当用户在浏览器请求时动态获取客户端名称,从而让我们使用相应的架构来显示当前客户端的 user_list。

任何回复都会有帮助。提前致谢。

最佳答案

我关注了django-tenants ,他们的团队实现了 django Multi-Tenancy SaaS(软件即服务)应用程序所需的几乎所有内容。所以除了理解建筑之外我没有做太多的工作;我只是想回答这个问题。

首先从管理员及其权限开始;对于上述要求,我有两个管理员角色:tenants_admintenant_admin

在这里,tenants_admin(提供产品的人)能够管理租户(购买产品的个人公司); tenants_admin 可以操作租户的数据,它们位于公共(public)架构中的表中。

现在轮到 tenant_admin,他对租户用户(假设是单个公司的员工)的数据拥有权限。

现在从django-tenants克隆项目,专门为租户创建应用程序。这些租户架构彼此高度隔离,包括租户应用程序的应用程序名称和 rest_framework。然后照常实现REST API;这些 API 将使用我们为项目创建的中间件自动导航。

关于django - Multi-Tenancy 架构 :dynamic api routing using django restframework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50133875/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com