使用Azure AD进行客户身份验证

时间:2016-01-06 19:02:34

标签: azure azure-web-sites azure-active-directory

我们正在编写面向Web应用程序(.net / mvc)的内部部署客户,但出于安全原因以及未来可能的原因,我们希望使用Azure AD作为身份验证方法。 Web应用程序将(可能)使用表单身份验证并在控制器中进行身份验证。

我们希望能够让客户使用他们想要的任何电子邮件地址。

这可能吗?当我手动将某人添加到AzureAD时,我无法使用user1@myemail.com添加某人。我们不希望在我们的域中为用户分配电子邮件地址。

吉娜

3 个答案:

答案 0 :(得分:3)

你应该看一下Azure B2C(Business 2 Consumer) https://azure.microsoft.com/en-us/services/active-directory-b2c/

这使您可以为外部用户创建单独的AD,允许他们注册并使用自己的电子邮件地址注册。

这还可以为您的外部用户启用Multi Factor Authentication等新功能。此外,它还允许您为每个用户存储额外的属性(如customerid,地址等)

答案 1 :(得分:2)

如果您使用支持ASP.NET MVC的Azure Web Apps,则可以使用Azure Active Directory身份验证机制。这是一篇博客文章,描述了如何设置它:https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-how-to-configure-active-directory-authentication/

完成后,将为您的应用启用auth,您可以在门户中配置AAD应用。有关详细信息,请参阅此博客文章:http://blogs.technet.com/b/ad/archive/2014/12/18/azure-active-directory-now-with-group-claims-and-application-roles.aspx

要修改权限级别,您应该能够使用角色声明。请参阅此示例以获取指导:https://github.com/Azure-Samples/active-directory-dotnet-webapp-roleclaims

很遗憾,您无法使用任何您希望的电子邮件地址。您将不得不将电子邮件地址与域关联,或者您可以使用Microsoft帐户(即@ hotmail.com地址)。

如果这很复杂,您可以使用ASP.NET的表单身份验证,这样您就可以使用任何所需的电子邮件。以下是一个示例:http://www.codeproject.com/Articles/601687/ASP-NET-MVC-Forms-Authentication-Customized

答案 2 :(得分:1)

我不认为这是可能的。 Azure AD和Forms身份验证不能同时协同工作。你应该选择其中一个。

对于Azure AD的自定义电子邮件地址,您可以使用域中的任一电子邮件地址,也可以将Microsoft帐户添加为访客帐户(例如user1 @ outlook.com,user2 @ live.com,user3 @ hotmail.com,等等。)。无法在Azure AD中使用任意电子邮件地址。

根据您的要求,听起来像Forms auth是要走的路。