ASP.NET - 如何将 HttpContext 用户凭据从 MVC 应用程序转发到 API

问题描述 投票:0回答:1

我有一个解决方案,其中有一个 ASP.NET MVC 应用程序和一个 ASP.NET API。当有人登陆 MVC 应用程序的主页时,我将访问家庭控制器内的 HttpContext 以获取用户的凭据,然后将其用于各种操作。在 Home Controller 内部,我还需要调用我的 API(上面提到的),并且该 API 还需要通过 HttpContext 访问用户的凭据。

当我在本地调试时,效果很好,MVC 应用程序和 API 都可以将我的凭据视为 [MyDomainName]/[MyUserName]。但是,当在我的 IIS 服务器上运行它们时,MVC 应用程序可以正确访问我的凭据,而 API 将它们视为 IIS AppPool/[MyAppPool],或托管 MVC 应用程序的应用程序池运行的任何帐户。

我理解为什么会发生这种情况,从 API 的角度来看,如果 API 请求是从服务器端脚本(MVC 应用程序的主控制器)发送的,那么发送请求的用户就是 MVC 应用程序的应用程序池。问题是,我必须从控制器(或服务器端 C# 代码中的任何位置)发送这些请求,我无法完全从 MVC 应用程序内的 Javascript 文件生成这些请求(我知道这可以工作) ).

有谁知道是否有办法通过服务器端 C# 代码中发出的 API 请求转发凭据?我知道出于安全原因可能不允许这样做,但只是想检查人们在处理此问题时的方法是什么?

c# asp.net asp.net-mvc asp.net-apicontroller
1个回答
0
投票

你使用过AJAX技术吗...?

© www.soinside.com 2019 - 2024. All rights reserved.