如何在MVC 4应用程序中混合使用Azure AD身份验证和Windows身份验证?

时间:2016-07-29 19:56:16

标签: asp.net .net asp.net-mvc-4 windows-authentication azure-active-directory

我对公司服务器(非Azure)上托管的ASP.NET MVC 4(.NET 4.6.1)应用程序有设计要求,以执行以下操作:

检查用户是否通过Windows身份验证进行身份验证

a)是 - 将用户指定为“已验证”

b)否 - 使用OpenAdConnect(OWIN)使用Azure Active Directory进行身份验证。

经过身份验证后,使用控制器方法等的标准[授权]属性。我已经实现了Windows和Azure AD身份验证,单独的是单独的MVC应用程序,但从未在一起。

我找到了几个描述如何混合Windows和Forms身份验证的来源,但没有一个用于此组合。

有没有人对如何实现这一目标有所了解?

1 个答案:

答案 0 :(得分:1)

一年前我有类似的要求,我的方法是:

重定向用户以输入其AD凭据(https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-how-to-configure-active-directory-authentication/

一旦他们成功登录AD,您将获得一个令牌。

然后我使用我刚刚获得的令牌代表他们调用Azure AD API。我会打电话给 / me 端点,它会返回用户个人详细信息。

通过上述回复,我只需要检查电子邮件地址是否与最初请求的电子邮件地址相匹配。

如果匹配,则表示用户已成功通过AD验证。

然后,您可以继续向该用户发送令牌或cookie以访问您的应用程序。

相关问题