我正在尝试通过许多关于多租户身份管理的Azure文档,为一个定制的ASP.NET MVC SaaS站点。很难看起来许多在线示例和文章现在已经过时,不适用于最新的VS模板,以及其他模糊的方面,例如确定什么是预览,什么不是。此外,在专门处理拥有自己的Azure AD的合作伙伴公司时,MS倾向于使用“multitenant”一词,这不是我们的情况。
我们建议的系统将为不同的客户提供Web应用程序。后端将为每个客户(租户)分别设置一个数据库。前端将根据登录用户选择哪个数据库连接(并可能使用模拟)。身份管理最好卸载到Azure ACS,以便将来如果我们想要与拥有自己的联盟身份提供商的公司集成,我们可以,但对于那些没有自己域名的小公司,我们想要创建帐户代表他们。
我认为这样做的一个好方法是使用Azure ACS(用于与企业客户联合)和一般Azure AD目录(对于其他所有人),在第二种情况下,我为每个租户创建一个组(客户) )。然后,在Azure ACS中,我翻译所有声明,可以是我自己的AD中的组,也可以是来自联合身份提供者的公司名称,并使用MVC应用程序中的声明建立租户。
这是一个好方法吗?我是否忽略了Azure已经提供的一些标准,简单的方法?这个未来的证据是否适用于Azure路线图?
答案 0 :(得分:2)
有关最新的多租户样本,请参阅https://github.com/Azure-samples?utf8=%E2%9C%93&query=multiten。我们即将发布有关如何在Azure AD中处理多租户的更多文档。我强烈建议不要在任何新项目中使用ACS,因为我们不再添加任何功能,而且我们正在积极致力于将功能从ACS迁移到Azure AD。有关详细信息,请参阅http://blogs.technet.com/b/ad/archive/2015/02/12/the-future-of-azure-acs-is-azure-active-directory.aspx。