【问题标题】:How to load a React app inside a razor page如何在剃须刀页面中加载 React 应用程序
【发布时间】:2019-04-12 23:02:03
【问题描述】:
我有一个使用 create-react-app 创建的 react 应用程序,现在我想将它集成到 ASP.NET Core 2.0 Web 应用程序中。原因是,我需要在用户进入 react 应用程序之前启用 windows 身份验证并生成令牌。
换句话说,在我的 asp.net react 应用程序中,我需要入口点是“cshtml”而不是“html”。以前有没有人这样做过,或者有其他方法可以启用 Windows 身份验证吗?
【问题讨论】:
标签:
reactjs
asp.net-core
windows-authentication
【解决方案1】:
目前有两种解决方案;
两者都在这里进行了总结,这足以在网络上进行简单的搜索以找到不同风格的解决方案:
编写一个简单的快速服务器,从构建目录为您的索引页提供服务。这是在您构建反应应用程序之后。使用 node-sspi 进行身份验证,并使用中间件进行验证。
在 package.json 文件中使用 proxy 关键字将请求重定向到开发模式下的服务器。
创建启用 Windows 身份验证的 asp.net Web 应用程序。复制文件夹内的反应代码。配置 webpack.config 以使用模板(您设计模板)文件来创建 index.cshtml 而不是 index.html 并编写一些构建脚本以将 index.cshtml 文件从构建复制到 Pages 目录以及其他 css 和 js 内容构建到 wwwroot。在 index.cshtml.cs 文件中做认证位(代码隐藏)
我实现了第二个解决方案,因为我的 API 是 c# 并托管在 iis 中,客户端和服务器都将在 Intranet 上运行