我有一个在Azure云上运行的经典3层应用程序(数据库,API和UI)。现在,我想扩展此应用程序,并为不同的客户群启用它。因此,现在我在数据库中拥有与公司A有关的用户。我使用Azure AD进行身份验证,通过登录成功进行身份验证后,用户可以调用必要的API。
我现在想将此设置扩展到公司B。我已经确定我不会使用相同的数据库来保存公司B的数据。因此,我将拥有一个新的数据库来容纳公司B的所有数据。我将使用相同的UI和API来同时为公司A和公司B提供服务器。
现在,我正在使用Azure AD创建在每次API调用时都会在我的API中验证的JWT令牌。设置好多租户之后,我现在还必须从该令牌中识别出API调用所属的公司,以便我可以连接到适当的数据库。我一直在阅读有关Azure AD中的多租户的信息,但不确定这是否是我应该做的正确的事情。关于如何做到这一点的任何想法?
设计多租户应用程序时,必须从几种模式中进行选择。
https://docs.microsoft.com/zh-cn/azure/sql-database/saas-tenancy-app-design-patterns
取决于许多功能:
租户隔离,可伸缩性要求,开发复杂性,操作复杂性和定制。最大的因素是安全性和隔离性。
根据您的描述,看来您正在使用每个租户数据库的多租户应用程序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句