2016-01-06 150 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