我有一个在 Linux 服务器上运行的 asp.net 核心 web api(使用 PCF 云)。我想将用户凭据从 Angular 应用程序传递到此 Web api。我尝试使用 angular 选项 withCredentials = true 但它没有传递用户窗口登录 ID。
在 Asp.net Core web api 上,我尝试了多个选项,例如
Context.User.Identity.Name
Environment.Username
_httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value
但似乎没有任何效果。我试图在谷歌上找到它,但没有运气。按照此网址进行设置,但它也无法正常工作...
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 身份,只需用户名即可。