如何在使用Angular 2时读取HTTP协议标题?

问题描述:

我的角2应用程序是背后添加了HTTP头部像一个反向代理:如何在使用Angular 2时读取HTTP协议标题?

Auth-User: somebody 
Auth-Groups: something, something, ... 

如何,我读了我的角2应用这些价值观?请注意,我不是:

  • 做一个新的HTTP调用,
  • 做一个用户名/密码登录,添加了一些sessionStorage的,我可以在CanActivate使用

基本上我需要支持从浏览器第一次访问我的服务器开始,基于可信HTTP标头的SSO方案。

任何想法?

Lars

+0

这是不可能从JS当前页面获取标题。看到这个http://stackoverflow.com/questions/220231/accessing-the-web-pages-http-headers-in-javascript – estus

我意识到它不能直接完成。 Angular是面向客户端的,并且被浏览器大量使用沙箱,因此它只是能够访问必要头文件的服务器。我拿出的是:

  • 在服务器上获得一些用户设置服务。包含用户和组信息的响应。对服务器的服务呼叫当然不能相信客户对谁是当前用户和组成员资格的看法。这是我选择的一个
  • 使用Universal Angular,它是面向服务器端的。在我的情况下,它不适合公司的文化。

因此,与大多数示例/教程使用的基本身份验证方案不同,解决方案只是获取包含在服务调用中的标头值。