当前位置: 首页 > 知识库问答 >
问题:

处理SAAS应用程序最终用户的登录

湛宜春
2023-03-14

我正在设计一个SAAS应用程序,每个用户拥有多租户数据库,每个数据库拥有唯一的订阅用户子域。当saas应用程序的订阅用户将更多用户添加到他们的仪表板或产品中时,问题就会出现,因此如何处理他们从我们的主应用程序页面的登录,因为他们的数据库条目将只在他们的管理员数据库中。或者我应该为所有用户使用一个全局数据库来处理登录?

我正在寻找任何有价值的建议,我是一个新手,刚刚开始在SAAS应用程序工作

谢谢

共有1个答案

夏英发
2023-03-14

通常的解决方案是使用一个全局数据库(称为元数据数据库),保存应用程序的所有租户。用户表的一个简单例子可能是这样的;

tenants
- id
- subdomain
- db_host
- db_name
- db_user 
- db_password

然后,当用户尝试访问您的应用程序时,您可以在该表中签入数据库名称和凭据,以便使用他们自己的数据库。

我希望我能帮助你

 类似资料:
  • 我必须在j2ee中开发一个多租户SaaS应用程序,从Iaas和PaaS开始实现三种云模型,我选择了openstack和openshift origin。SaaS应用程序的第一个标准是多租户,我知道有三种方法来实现它——单独的数据库——共享数据库,单独的模式——共享数据库,共享模式。我在这里迷失了方向,因为许多框架,比如ATHENA,ORM,比如hibernate,还有TOPLINK。我需要帮助了解

  • 我正在使用Java、Spring、Struts2和Hibernate设计一个多租户SaaS Web应用程序。经过一些研究,我选择在共享数据库、共享模式、共享表的方法中实现多租户。并用tenantid标记每个db行。 我已经重写了我的应用程序,所以管理者和DAO将把tenantId作为一个参数,只为正确的数据库资源服务。 当获取信息时,这对所有视图来说都是完美的。也用于创建新的东西(使用登录的用户t

  • 现在我正在开发一个能够接收通知的应用程序,进展顺利,直到我需要向服务器发送应用程序上收到的通知的副本。 虽然我知道这种方法的缺点,但这是我处理收到的通知的唯一方法。 现在我可以通过这个方法处理应用程序在后台和前台收到的通知 。在此方法中,我调用NSURLConnection sendAsynchronousRequest将收到的通知数据发送到我的服务器。 但是,当应用程序被删除(从后台应用程序中删

  • 我正在开发一个新的SaaS应用程序,它使用redis进行会话存储和查询缓存。 我不知道在SaaS应用程序中使用redis实现的最佳架构。对所有租户使用单个redis数据库并通过命名空间识别每个租户更好,还是对每个租户使用单个redis数据库更好? 我认为对所有租户使用单一数据库更好,但我不确定这一点。 此外,如果在单个数据库中使用redis的最佳选择是,我想知道如何使用redis进行查询缓存。如果

  • 我正在开发一个 SaaS 应用程序,该应用程序要求外部组织的 AD 用户将约会同步到 Office 365 日历事件。 管理员用户方案: 管理员将所有AD用户导入应用程序。 该应用程序将管理员重定向到Microsoft登录并请求权限。 管理员允许应用程序访问用户的日历。 普通用户场景: 用户登录应用程序。 用户创建约会并同步到Office 365日历(无需请求权限)。 我在Microsoft Gr

  • 我正在考虑将应用程序迁移到Cloud Foundry,因为我厌倦了独自管理我的服务器。在我当前的应用程序中,我使用Spring Security和会话来处理我的用户登录。然而,我对如何更改我的代码一无所知,因此Cloud Foundry的多个实例支持我的用户以某种无状态的方式登录(但使用令牌)。我已经研究了UAA,但这似乎是针对云铸造用户的,而不是我的应用程序的用户。 类似OAUTH2的东西似乎是