reactjs - 如何在剃须刀页面中加载 React 应用程序
问题描述
我有一个使用创建的反应应用程序create-react-app
,现在我想将它集成到 ASP.NET Core 2.0 Web 应用程序中。原因是,我需要在用户进入 react 应用程序之前启用 windows 身份验证并生成一个令牌。换句话说,在我的 asp.net react 应用程序中,我需要入口点是“cshtml”而不是“html”。以前有没有人这样做过,或者有其他方法可以启用 Windows 身份验证吗?
解决方案
到目前为止,有两种解决方案;两者都在这里进行了总结,这足以在网络上进行简单的搜索以找到不同风格的解决方案:
编写一个简单的快速服务器,该服务器将从构建目录中为您的索引页面提供服务。这是在您构建反应应用程序之后。使用 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 上运行
推荐阅读
- swift - 在 AppDelegate 中设置初始视图控制器时完全黑屏
- php - 为什么我的验证器没有在 Laravel 中验证?
- angular - 在 ngFor 中使用选择元素时出现“属性为只读”错误
- javascript - 绘制省略号区域的一致方式
- django - 我有 main_project/templates 目录来存储 base.html,但是我在哪里存储 base.css?
- flutter - Flutter Facebook 登录 允许切换帐户
- javascript - JavaScript:toString 和 toString() 之间的区别
- javascript - 给定一台可以在一次移动中移动无限球的机器,以最少的移动量将球从一组桶移动到另一组的算法
- python - 第二个按钮在 selenium python 中不起作用
- arrays - 快速将二进制数据获取到索引数组