自托管的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没有任何问题。
谁能给点建议?谢谢你!
我们的问题是身份验证而不是SSL。
- 使用
AuthenticationSchemes.Ntlm
帮助 - 另一个问题是在组织内正确注册服务器名称,以便客户端(开发人员的机器)可以访问它