angular - 没有任何WebAPI调用的Angular获取http响应标头?
问题描述
我的 sql server 上安装了一个登录授权模块。
该模块是从我的 wwwroot 目录中的 web.config 文件触发的。
<modules>
<add name="PingAccessModule"/>
</modules>
在正常使用情况下
我连接到我的网站www.connecttosite.com -> 模块拦截请求并将用户登录 -> 验证请求然后将额外的 http 标头发送到我的 Web api,我可以在其中读取这些额外的标头并获取用户信息。
问题是这需要我创建一个额外的 asp.net web api 项目,该项目与我的 angular 应用程序存在于同一目录中。
我想知道是否有一种仅使用角度的方法,我可以连接到网站-> 角度以某种方式拨打电话-> 模块拦截呼叫-> 将额外信息附加到响应标头,我可以在角度看到此标头而不必完全使用 web api 吗?
我可以使用 Angular 作为 web api 吗?
编辑:
因此,如果我想创建自己的标题但登录模块将用户信息附加到标题,则当前答案有效。
请看下面的照片:
授权是堆栈中的第一个调用(以绿色圈出)。这是拦截对网站的请求并登录用户的模块。
红色箭头是对 Angular 网站的实际调用。然后你可以看到正常的角度模块(main.js、env.js、polyfills 等)加载之后。
当对网站进行初始调用时,即使在角度加载所有模块之前,我需要的标头也将可用。角度负载时如何正确访问它们?
解决方案
尝试根据您的情况使用模拟 api。
这应该允许您使用 angular 作为 api 并从您的普通 angular 客户端调用它。
所以你会服务它并这样称呼它
this.http.get('http://localhost:3000/api/YourMethodToGetUserInformation');
推荐阅读
- php - Symfony 3.4 设置网络资产的文件夹
- javascript - jQuery:单击按钮不会触发事件
- linux - 如何在为 armv7 交叉编译图集时减少构建时间?
- karate - 空手道黄瓜报告 | 为什么黄瓜报告显示所有标签的行?
- laravel - Fresh Homestead 无法在 Windows 上运行(作曲家重命名权限被拒绝错误)
- graph - 如何重新排序条形图
- c++ - 通过 unix 域套接字为 UV4L 数据通道发送数据
- sparql - 有没有办法直接从 Wikidata 语句节点恢复主语和谓语参数?
- objective-c - 仅通过 Objective-C 运行时函数使用 NSAutoreleasePool
- javascript - 如何从 kendoListBox 中删除所有项目