ASP.Net双OWIN身份验证-如何防止非AD用户重定向到AzureAD登录

时间:2018-11-30 10:02:11

标签: c# asp.net-mvc azure asp.net-mvc-5 asp.net-identity

我们有一个.NET 4.7.2 MVC网站,在该网站中,我们为非AD用户实现了双重authentication - against AzureAD using OpenIdConnect和默认的应用程序Cookie身份验证。

AD用户被重定向到Microsoft登录名,我们为login page定制了non-AD-users.

我们的问题是,当我们使用AuthenticationManager.SignIn在自定义登录页面中登录用户时,无论如何该用户都被重定向到Microsoft login

我已通过将以下内容添加到Startup.cs的OpenIdConnect配置中的RedirectToIdentityProvider-func中来解决此问题:

if (context.Request.Path.ToString().Contains("login"))
{
    context.HandleResponse();
}

但这似乎是一个丑陋的骇客。解决此问题的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我在 OpenIdConnectAuthenticationOptions 上添加以下行解决了这个问题:

AuthenticationMode = AuthenticationMode.Passive

参考:

https://github.com/aspnet/AspNetKatana/issues/300