2016-01-06 151 views
1

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

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

这可能吗?当我去手动添加某人到AzureAD时,我无法使用[email protected]添加某人。我们不希望在我们的域中分配用户的电子邮件地址。

吉娜

回答

2

你应该看看Azure的B2C(企业2消费者) https://azure.microsoft.com/en-us/services/active-directory-b2c/

这使您可以创建外部用户一个单独的广告,让他们登记,并用自己的电子邮件地址注册。

这也将为您的外部用户启用Multi Factor Authentication等新功能。此外,它会让你存储每个用户的额外属性(如customerid,地址等)

2

如果使用Azure的Web应用程序,它支持ASP.NET MVC,那么你可以使用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

+0

补充一下,我正在寻找一种asp会员方式,因为我们在考虑原生应用以及在不同平台上进行身份验证。 – ginalster

1

我不认为这是可能的。 Azure AD和表单验证不是为了一起工作而设计的。你应该选择一个或另一个。

对于使用Azure AD的自定义电子邮件地址,您可以使用域中的电子邮件地址,也可以将Microsoft帐户添加为访客帐户(例如,[email protected][email protected][email protected]等)。 Azure AD无法使用任意电子邮件地址。

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

+0

感谢你的声音,你们是对的。 :(Azure AD主要用于MS身份验证以及雅虎等提供商。 – ginalster

+1

查看Azure AD B2C答案,非常有希望,但显然没有无头支持。 – ginalster