我有以下服务
- Service1.SomeDomain.com
- Service2.SomeDomain.com
- Service3.SomeDomain.com
我有一个 Web 应用程序,它有一个客户端脚本,该脚本将直接与上述每个服务对话以检索信息
Web.SomeDomain.com
我还有 Native Mobile 客户端应用程序,它们也将直接与上述每项服务通信
- Android
- IOS
- Windows/Windows Phone
现在,该应用程序将成为一个 SaaS 解决方案,客户可以在线注册创建自己的租户,然后为员工创建用户帐户,并将员工添加到组中并更改这些组的权限。
现在我需要一个解决方案,用户可以登录到移动应用程序或 Web,并且可以根据组权限访问上述服务,但我希望每个租户都严格分离
最佳答案
从标签来看,您似乎正在考虑使用 Azure AD。好的选择。 Azure AD 允许开发人员保护他们的 SAAS API 和 Web/移动应用程序。 Azure AD 满足您所描述的所有要求 - 它甚至具有适用于流行平台的客户端 SDK。 以下内容应该可以帮助您完成:
- AAD ( http://msdn.microsoft.com/en-us/library/azure/dn499820.aspx ) 支持的身份验证方案:将回答以下问题:我的移动应用如何代表用户访问我的 Multi-Tenancy Web API,或者我的 Web 应用如何让用户登录作为接收委托(delegate) token 来访问我的 Web api
- AAD 集成 Multi-Tenancy SAAS 应用程序示例 ( https://github.com/AzureADSamples/WebApp-MultiTenant-OpenIdConnect-DotNet ):涵盖 Multi-Tenancy 应用的特殊技术
- 使用群组成员身份进行授权 ( https://azure.microsoft.com/en-us/documentation/articles/web-sites-authentication-authorization/ ):描述如何根据用户的群组成员身份在应用程序中执行授权。
享受吧。 希望这会有所帮助。
关于azure - 使用 Azure Active Directory 进行 Multi-Tenancy 、多平台、多服务单点登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23522194/