2016-03-15 92 views
4

我現在有一個自我託管Owin的應用程序,在Windows這樣運行:Windows身份驗證,而託管在Linux上與ASPNET核心

public class Program 
{ 
    private static void Main(string[] args) 
    { 
     using (WebApp.Start<Startup>("http://localhost:9000")) 
     { 
      Console.WriteLine("Press Enter to quit."); 
      Console.ReadKey(); 
     } 
    } 
} 

public class Startup 
{ 
    public void Configuration(IAppBuilder app) 
    { 
     var listener = (HttpListener) app.Properties["System.Net.HttpListener"]; 
     listener.AuthenticationSchemes = AuthenticationSchemes.IntegratedWindowsAuthentication; 

     app.UseNancy(); 
    } 

當一個請求時,用戶使用其Windows域憑據驗證。

對於ASPNetCore,我想知道是否有類似的設置可以使用,但應用程序使用Kestrel Web服務器在Linux上運行。

我聽說過各種選項,如Windows 2016和OpenIdConnect中間件可能工作,或者我可以使用IdentityServer在Windows上運行,但在Linux上的應用程序,但我假設中間件將是必需的,我也不清楚是否會有一個「認證舞蹈」意味着它可能不像我現在所擁有的那樣無縫。

任何意見和/或代碼示例將不勝感激。

感謝

回答

5

有一個用於Windows身份驗證的紅隼在任何平臺上沒有直接的支持,也沒有將支持在Linux上的Windows身份驗證任何可用的中間件。

通過Windows服務器路由登錄請求是您唯一的選擇。 IdentityServer將是一個開始的好地方。 OpenIdConnect可能是您用最少的用戶交互傳達兩臺服務器之間身份的最佳選擇。

相關問題