React不允许我的URL调用后端

我一直在圈子里奔跑,试图了解为什么我的React应用程序处于无限循环中。当我尝试将其与AD FS集成时,一切开始发生。基本上,除了将用户引导到登录页面之外,我还需要访问后端,该后端位于.net核心中,调用质询架构以到达Ad FS登录页面。

然后我决定创建一个简单的react应用程序以尝试模拟此问题。事实证明,这是通过Visual Studio作为模板创建的最简单的react应用程序发生的。

发布应用程序后,我第一次调用该URL,该应用程序到达后端以加载所有内容。我将在下面更好地解释它,以下是解决此问题的步骤:

  1. 在Visual Studio中使用React Application创建一个新的.Net Core Web
  2. 将其发布到您的任何文件夹中
  3. 转到已发布的文件夹,从此处打开CMD并只需键入 donet myReactApp.dll,其中“ myReactApp”将是项目的名称。与在IIS上发布相同。
  4. 我认为该应用程序将在端口5001上运行。您现在应该可以从浏览器访问它。
  5. 打开检查元素并进入网络标签。
  6. 在页面中单击“ 胎儿数据”标签
  7. 转到网络标签,并查看所发出的请求。这将通过URL https://localhost:5001/api/SampleData/WeatherForecasts
  8. 进入后端
  9. 现在,复制该URL,并将其粘贴到浏览器的另一个选项卡中。
  10. 首次执行此操作将检索带有数据的模型并在屏幕上打印JSON
  11. 再试一次,您将看到前端应用程序将返回,并且没有数据

这是问题所在,该应用程序仅是第一次访问后端。之后,React似乎尝试自行解决所有路由。就我而言,由于请求失败,因此我的应用程序重定向到我的“登录”页面,从而导致无限循环。

很难解释,也很难理解为什么会发生。感谢对此问题React-router urls don't work when refreshing or writing manually的解释,我对它有了更多的了解。但是,我仍然找不到解决方法。

现在,这正是我的应用程序中正在发生的事情。我需要验证用户是否已经在AD FS服务器上进行了身份验证。如果未通过身份验证,我将向后端发出请求,以将用户重定向到“ AD FS登录”页面。这是问题所在,它没有进入后端,再次调用了我的登录页面,并且由于尚未通过身份验证,因此一直处于循环状态。

有人遇到过这个问题吗?

zzhwggg 回答:React不允许我的URL调用后端

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

大家都在问