簡體   English   中英

自托管的OWIN .NET 4.5 Web API 2不適用於Windows身份驗證和https

[英]Self-hosted OWIN .NET 4.5 Web API 2 does not work with Windows authentication and https

我正在嘗試使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:

  • 在我的主機文件中添加了到服務器名稱的映射
  • 安裝了證書(借助此帖子
  • 保留URL( https://+:10001/
  • 在保留的URL下運行服務

啟動服務:

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

如果禁用Windows身份驗證(用上面的HttpListener注釋掉兩行),則可以使用HTTPS協議訪問該服務。 瀏覽器可以識別證書。

啟用Windows身份驗證后,我一直收到401個響應(在Fiddler中,一個請求最多可以看到6 401個響應)。 瀏覽器不斷提示我登錄,並且多次嘗試輸入401代碼后失敗。

我一直在尋找一個面臨類似問題的人。 這篇文章看起來很有希望。 但是,作者似乎對.NET 4.5版本的OWIN沒有任何問題。

有人可以建議嗎? 謝謝!

我們的問題是身份驗證而不是SSL。

  • 使用AuthenticationSchemes.Ntlm幫助
  • 另一個問題是組織中服務器名稱的正確注冊,以便客戶端(開發人員的計算機)可以訪問它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM