Ldap Thinktecture IdentityServer 3 Windows身份验证调用从不返回结果
在本期的前言中,我要说的是,通过Visual Studio 2015和IIS Express以及我的本地box,我可以很好地完成这项工作。只有在部署到服务器并在IIS中运行IdentityServer时,我才会遇到此问题 我正在尝试使用LDAP对MVC应用程序的用户进行身份验证。我的解决方案基于ThinktectureGithub网站上提供的这个示例 但是,当调用authenticate时,它永远不会返回,我最终会看到一个空白的浏览器窗口,地址栏中有URL Identity Server日志显示最后一个条目序列:Ldap Thinktecture IdentityServer 3 Windows身份验证调用从不返回结果,ldap,claims-based-identity,thinktecture-ident-server,Ldap,Claims Based Identity,Thinktecture Ident Server,在本期的前言中,我要说的是,通过Visual Studio 2015和IIS Express以及我的本地box,我可以很好地完成这项工作。只有在部署到服务器并在IIS中运行IdentityServer时,我才会遇到此问题 我正在尝试使用LDAP对MVC应用程序的用户进行身份验证。我的解决方案基于ThinktectureGithub网站上提供的这个示例 但是,当调用authenticate时,它永远不会返回,我最终会看到一个空白的浏览器窗口,地址栏中有URL Identity Server日志显示
w3wp.exe信息:0:01/09/2017 11:29:16-07:00[信息]() 用户未通过身份验证。重定向到登录 w3wp.exe信息:0:01/09/2017 11:29:16-07:00[信息]() 结束授权请求 w3wp.exe信息:0:01/09/2017 11:29:16-07:00[信息]() 重定向到登录页面 w3wp.exe信息:0:01/09/2017 11:29:16-07:00[信息]() 请求登录页面 w3wp.exe信息:0:01/09/2017 11:29:16-07:00[信息]() 已禁用客户端的本地登录 w3wp.exe信息:0:01/09/2017 11:29:16-07:00[信息]() 客户端只有一个提供程序 w3wp.exe信息:0:01/09/2017 11:29:16-07:00[信息]() 正在重定向到提供程序URL:“ w3wp.exe信息:0:01/09/2017 11:29:16-07:00[信息]() 为提供程序请求外部登录:“windows” w3wp.exe信息:0:01/09/2017 11:29:16-07:00[信息]() 触发外部身份提供程序的质询 w3wp.exe信息:0:01/09/2017 11:29:17-07:00[信息](IdentityServer.WindowsAuthentication.AuthenticationController) 启动WS-Federation元数据请求 w3wp.exe信息:0:01/09/2017 11:29:17-07:00[信息](IdentityServer.WindowsAuthentication.AuthenticationController) 启动WS-Federation请求 w3wp.exe信息:0:01/09/2017 11:29:17-07:00[信息](IdentityServer.WindowsAuthentication.AuthenticationController) 用户是匿名的。触发身份验证
就这样。当我查看IS中AuthenticationController类的源代码时,我看到:
if (User == null || !User.Identity.IsAuthenticated)
{
Logger.Info("User is anonymous. Triggering authentication");
return Unauthorized();
}
因此,它看起来像是命中了这个代码块并返回了一个“Unauthorized”的结果,但是调用代码从来没有对这个结果做过任何事情。它似乎没有回发到调用应用程序、尝试执行LDAP身份验证、抛出错误或其他任何操作。它只是停止了
如前所述,当我通过VS2015和IIS Express运行我的项目时,它成功了。为了进行比较,下面是一个成功日志条目的示例:
iisexpress.exe信息:0:01/09/2017 11:45:01-07:00[信息]() 用户未通过身份验证。重定向到登录 iisexpress.exe信息:0:01/09/2017 11:45:01-07:00[信息]() 结束授权请求 iisexpress.exe信息:0:01/09/2017 11:45:01-07:00[信息]() 重定向到登录页面 iisexpress.exe信息:0:01/09/2017 11:45:01-07:00[信息]() 请求登录页面 iisexpress.exe信息:0:01/09/2017 11:45:01-07:00[信息]() 已禁用客户端的本地登录 iisexpress.exe信息:0:01/09/2017 11:45:01-07:00[信息]() 客户端只有一个提供程序 iisexpress.exe信息:0:01/09/2017 11:45:01-07:00[信息]() 正在重定向到提供程序URL:“ iisexpress.exe信息:0:01/09/2017 11:45:01-07:00[信息]() 为提供程序请求外部登录:“windows” iisexpress.exe信息:0:01/09/2017 11:45:01-07:00[信息]() 触发外部身份提供程序的质询 iisexpress.exe信息:0:01/09/2017 11:45:02-07:00[信息](IdentityServer.WindowsAuthentication.AuthenticationController) 启动WS-Federation元数据请求 iisexpress.exe信息:0:01/09/2017 11:45:02-07:00[信息](IdentityServer.WindowsAuthentication.AuthenticationController) 启动WS-Federation请求 iisexpress.exe信息:0:01/09/2017 11:45:02-07:00[信息](IdentityServer.WindowsAuthentication.AuthenticationController) 用户是匿名的。触发身份验证 iisexpress.exe信息:0:01/09/2017 11:45:02-07:00[信息](IdentityServer.WindowsAuthentication.AuthenticationController) 启动WS-Federation请求 iisexpress.exe信息:0:01/09/2017 11:45:02-07:00[信息](IdentityServer.WindowsAuthentication.AuthenticationController) 登录请求 iisexpress.exe信息:0:01/09/2017 11:45:02-07:00[信息](IdentityServer.WindowsAuthentication.SignInResponseGenerator) 创建WS-Federation登录响应 iisexpress.exe信息:0:01/09/2017 11:45:02-07:00[信息]() 从外部标识提供程序调用的回调 iisexpress.exe信息:0:01/09/2017 11:45:02-07:00[信息]() 外部用户提供程序:“windows”,提供程序ID:“S-1-5-21-4244171952-2663774276-83029744-5772” iisexpress.exe信息:0:01/09/2017 11:45:03-07:00[信息]() 用户服务已成功验证外部标识 iisexpress.exe信息:0:01/09/2017 11:45:03-07:00[信息]() 在用户服务上调用PostAuthenticationAsync iisexpress.exe信息:0:01/09/2017 11:45:03-07:00[信息]() 正在发布主登录cookie iisexpress.exe信息:0:01/09/2017 11:45:03-07:00[信息]() 重定向到:id_token token&scope=openid profile email dispatch&state=OpenIdConnect.AuthenticationProperties%3DDJ4K5NWDBJNTEAJN5JXFutsmogfBaszNYB1MCIDW0BABLIV5UJFKTRZFVWGEBMRQUUM2P3TP-ISDxWTOCW6UMDZ-8tbW1cRBcT604YUEDXO T9MLPIOKJTL7ZYDGHLVPPAGPAGTW5YWRYU-EFI7TMICJRYNJR03F