【发布时间】:2015-06-24 06:24:19
【问题描述】:
跟进这个问题:
How to do both Azure Active Directory Single Sign On and Forms Authentications on ASP.NET MVC
我尝试在默认 MVC 4 的登录操作上编写简单代码,该操作同时使用默认表单身份验证和 Azure Active Directory SSO:
public async Task<ActionResult> Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
{
return RedirectToLocal(returnUrl);
}
authContext = new AuthenticationContext(authority, new TokenCache());
var result = await authContext.AcquireTokenAsync(resourceId, clientId, new UserCredential(model.UserName, model.Password));
// more code
}
因此,如果正常登录 WebSecurity.Login 不成功,我将尝试使用 ADAL.NET 和以下帖子的凭据(用户名/密码)从 AAD 获取令牌:http://www.cloudidentity.com/blog/2014/07/08/using-adal-net-to-authenticate-users-via-usernamepassword/
运行应用程序时,我从 Azure 收到错误:
AADSTS90027:客户端“[ClientId]”和资源“[ResouceId]”标识同一个应用程序。
我不确定直接在 MVC 登录操作上使用 ADAL 和凭据是否真的有意义。请有人给我这个东西的提示。
【问题讨论】:
-
我仍然建议您重新考虑您的方法并考虑被动身份验证。
-
确切地说,2fac 身份验证可能是支持被动身份验证而不是您想要实现的场景的最大论据之一。
-
@WiktorZychla:是的,您是对的,感谢您的推荐,这对我们来说是行不通的,即使是 2 因素身份验证,我们也会按照您的建议和以下答案的建议进行
标签: c# asp.net-mvc azure-active-directory