我是 Windows azure 开发的新手。
我正在开发一个用于托管在线测试的应用程序。
此应用程序需要具有多个身份验证选项,例如 Windows live ID、Facebook 等。
它还需要具有由后端数据库提供的基于默认表单的身份验证(简单的用户名和密码匹配)。
基于身份验证机制,用户可以使用不同的权限。
谁能建议我应该如何进行?
谢谢
我是 Windows azure 开发的新手。
我正在开发一个用于托管在线测试的应用程序。
此应用程序需要具有多个身份验证选项,例如 Windows live ID、Facebook 等。
它还需要具有由后端数据库提供的基于默认表单的身份验证(简单的用户名和密码匹配)。
基于身份验证机制,用户可以使用不同的权限。
谁能建议我应该如何进行?
谢谢
您真的需要表单身份验证,还是只需要一个特定于应用程序的商店,人们可以在其中使用特定于您的应用程序的凭据?
我建议一起研究 Windows Azure Active Directory 和 Windows Azure 访问控制服务。您可以为您的应用程序商店创建一个 AD 租户并将其用作 ACS 的身份提供程序,或者您可以托管您自己的安全令牌服务和身份提供程序,该服务使用您的后端数据库作为也向 ACS 注册的用户存储。这意味着您的所有身份验证都经过相同的过程,并允许您拥有自己的用户存储以及社交身份提供者功能。
这里的关键是您要尽量避免使用表单身份验证和社交,而是一种可以使用多个身份提供者的机制,包括您自己的一个。
正如 Gaurav 所说,为此有大量资源:
也有许多博客和 MSDN 文档讨论如何设置这些。
如果您从 Visual Studio 中的默认“ASP.net MVC4 Web 应用程序”模板开始,您将获得一个带有 AccountController 的 Web 应用程序迷你示例,该示例支持开箱即用的本地和“社交”帐户。请参阅此处的文档。它基于DotNetOpenAuth(一个带有糟糕文档的奇妙库)和一个 Microsoft 实现的特殊 MembershipProvider,它存在于 WebMatrix.WebData 中。
关于 Azure 访问控制服务 2.0:我不知道该服务的状态是什么,但在我看来,似乎 MS 本身试图阻止开发人员使用该服务,因为它被深深地隐藏在 Windows Azure Active Directory 下的某个地方。文档。