簡體   English   中英

如何將Windows Identity從Angle App傳遞到Linux服務器上托管的ASP.NET Core 2.0 WebAPI

[英]How to pass windows Identity from angular app to asp.net core 2.0 webapi hosted on Linux server

我有一個運行在Linux服務器上(使用PCF雲)的asp.net核心Web API。 我想將用戶憑據從angular應用程序傳遞到此網絡api。 我嘗試使用角度選項withCredentials = true,但未傳遞用戶Windows登錄ID。

在Asp.net Core Web API上,我嘗試了多個選項,例如

Context.User.Identity.Name
Environment.Username
_httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value

但似乎沒有任何效果。 我嘗試在Google上找到它,但是沒有運氣。 按照此URL進行設置,但也無法正常工作...

https://www.koskila.net/how-to-get-current-user-in-asp-net-core/

如果我在Windows計算機上本地運行服務,則一切正常,我可以在Web API中獲取用戶ID。 我還嘗試在Windows服務器IIS上托管此asp.net核心Web api,它也可以正常工作。

當我在PCF Linux機器上托管我的服務時,唯一的問題就來了。 我可以理解Linux將不支持Windows身份的概念,但是有什么方法可以將僅帶有域的用戶名傳遞給Linux上的asp.net核心,我不需要完整的Windows身份,只需用戶名即可。

是的,同時沒有。 要支持Windows身份驗證,您需要位於同一域中,並且您的操作系統可以將憑據傳遞到Web服務器(它應支持此身份驗證類型)。

沒有與UI相關的內容。 如果您將在本地嘗試,那么您會在幕后發現許多真正使您身份驗證的請求。

我知道大多數流行的Web服務器都可以通過許多配置來做到這一點,例如密鑰導入,而如果沒有AD的更改就無法做到這一點。

我認為您需要類似以下內容的東西:https://www.axians-infoma.de/techblog/windows-authentication-in-docker-containers-just-got-a-lot-easier/

暫無
暫無

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

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