Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用windows身份验证从MVC项目调用外部Web API_C#_Windows Authentication - Fatal编程技术网

C# 使用windows身份验证从MVC项目调用外部Web API

C# 使用windows身份验证从MVC项目调用外部Web API,c#,windows-authentication,C#,Windows Authentication,我从别人那里继承了一个现有的MVC应用程序 我现在正尝试从旧应用程序中获取一些API调用,并将它们移动到新应用程序中 问题是,当MVC应用程序尝试在新应用程序中调用API调用时,它会得到401.2(未经授权)响应 我已经读到401.2意味着前端和后端使用不同的身份验证协议,这对我来说是有意义的 以下是新应用程序中帐户调用的响应标题片段: 下面是从旧应用程序调用相同API时相同响应头的剪报: 在我看来,他们使用的是不同的协议,对吗?主要的区别似乎是失败请求上的“WWW-Authenticate

我从别人那里继承了一个现有的MVC应用程序

我现在正尝试从旧应用程序中获取一些API调用,并将它们移动到新应用程序中

问题是,当MVC应用程序尝试在新应用程序中调用API调用时,它会得到401.2(未经授权)响应

我已经读到401.2意味着前端和后端使用不同的身份验证协议,这对我来说是有意义的

以下是新应用程序中帐户调用的响应标题片段:

下面是从旧应用程序调用相同API时相同响应头的剪报:

在我看来,他们使用的是不同的协议,对吗?主要的区别似乎是失败请求上的“WWW-Authenticate:Negotiate”——但我不知道如何修复这个问题

如果是这样的话,有谁能建议我需要在我的MVC项目中修改什么,以使它使用第一个项目的Auth类型

如果有帮助,两个AP使用相同的数据库

我知道这个问题有点模糊,但我不知道该去哪里解决这个问题


非常感谢您提供的任何帮助……

您需要一次登录才能通过不同的应用程序维护您的凭据,您可以:

  • 使用或为WEB API项目生成令牌凭据。

  • mvc项目上的用户窗体身份验证:

  • 使用基于cookie的授权:


我建议使用Identity Server。

它们都是MVC应用程序吗?其中一个是Web API吗?你是怎么打电话的?AJAX服务器端?@ZoiloReyes一个是MVC,一个是WebAPI。我是用Ajax打电话的你在MVC项目和WEB Api上都使用ASP.NET标识吗?@ZoiloReyes是的我使用