Angular 8应用程序,带有ASMX Web服务的CORS策略-返回403(禁止)

我可能有CORS政策问题。我的应用是使用以下技术编写的:

  • 前端:Angular 8,打字稿
  • 后端 :. asmx Web服务中的ASP.NET

当我开始在Ang2中创建应用程序时,一切都很好。几年后,我改用Ang8(平均时间完全没有开发),我开始遇到与CORS相关的问题。在生产中,一切都很好,因为两者都托管在同一端口和同一服务器上。在本地开发机上,我遇到了问题,但无法解决。由于开发原因,我关闭了CORS安全性,

chrome.exe --disable-web-security --user-data-dir={dir}

从那时起,我一直可以发展。现在chrome已更新为v。78,这让我有点麻烦...我在dev和prd上对API的所有调用开始返回与CORS相关的错误,因此我进行了搜索并发现了这一点:

https://support.google.com/chrome/thread/11089651?hl=en

解决方案在生产环境下可以正常工作,在该环境下,相同的服务器和端口是优势,但在开发机上则不起作用。应用程序从localhost:4200运行,而api从localhost:58082运行。因此,即使响应实际上是这样,我仍然认为这仍然是CORS问题:

"Http failure response for {URL}: 403 Forbidden"

我仍然需要解决此问题,因为我不想告诉所有用户:“转到Chrome的设置页面并禁用某些内容”(实际上我并不确切知道会有什么后果。 ..)

也许某些代码也将有所帮助。这是我的选项,其中标题是从Ang8应用发送到API的:

  const options = { headers: new HttpHeaders({
      'access-control-allow-origin': '*','Content-Type': 'application/json','access-Control-Allow-Methods': 'GET,POST,OPTIONS','access-Control-Allow-Headers': 'Origin,Content-Type,X-Auth-Token'
    }),params: new HttpParams().set('Param',param.toString())
  };
  return this.http.get<Response>(this.Url,options)

这是有关这些标头的asmx服务的web.config摘录:

  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="access-control-allow-origin" value="*" />
      </customHeaders>
    </httpProtocol>
    ...
  </system.webServer>

任何帮助都会真的很有价值,因为我被困住了,无法继续开发。而且在有人问之前,是的,这些服务正在运行并且可以访问:)

谢谢。

wuzhijunxx 回答:Angular 8应用程序,带有ASMX Web服务的CORS策略-返回403(禁止)

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3135343.html

大家都在问