自托管的owin.net 4.5 Web API 2不能与Windows身份验证和https一起工作

本文关键字:Windows 不能 身份验证 工作 一起 https API owin net Web | 更新日期: 2023-09-27 18:18:30

我正在尝试让Web API 2与Windows身份验证和SSL一起工作。它看起来可以与任何一个或另一个工作,但是当我启用Windows身份验证和SSL时,我一直从服务器获得401响应。

这是我们如何启用Windows身份验证:

HttpListener listener = (HttpListener)appBuilder.Properties["System.Net.HttpListener"];
listener.AuthenticationSchemes = AuthenticationSchemes.IntegratedWindowsAuthentication;

当仅使用HTTP(没有HTTPS)运行时,Windows身份验证似乎可以工作。我看到401个响应后面跟着一个200个响应。

我也在尝试让它在我的本地机器上使用HTTPS。

我执行了以下步骤来启用HTTPS:
  • 在我的hosts文件
  • 中添加映射到服务器名
  • 安装证书(在这篇文章的帮助下)
  • 保留URL (https://+:10001/)
  • 在保留URL下运行服务

启动服务:

var startOptions = new StartOptions();
startOptions.Urls.Add(baseUrl); // baseUrl is "https://+:10001/"
_webApplication = WebApp.Start<Startup>(startOptions);

如果我禁用Windows身份验证(用上面的HttpListener注释掉2行),我可以使用HTTPS协议访问服务。浏览器可以识别证书。

当我启用Windows身份验证时,我一直得到401响应(在Fiddler中,我可以看到一个请求最多6 401响应)。浏览器一直提示我登录,多次尝试后输入401码失败

我一直在寻找有类似问题的人。这个职位看起来很有前途。然而,作者似乎对。net 4.5版本的OWIN没有任何问题。

谁能给点建议?谢谢你!

自托管的owin.net 4.5 Web API 2不能与Windows身份验证和https一起工作

我们的问题是身份验证而不是SSL。

  • 使用AuthenticationSchemes.Ntlm帮助
  • 另一个问题是在组织内正确注册服务器名称,以便客户端(开发人员的机器)可以访问它
相关文章: