2017-05-02 10 views
1

私はAngular 2 + NodeJSを初めて使用しています。私は.NETから来ています。 .NETで、私はあなたがリクエストオブジェクトを取得し、サーバー変数を引き出すことを知っていますが、角度2では、要求をどのように取得してヘッダー変数を取り出すかがあるようです。ヘッダー変数を取得する方法は、角度2のアプリケーションにSSO経由で渡されますか?

私の会社は独自のSSOを持っているので、私のアプリケーションに来る前にヘッダ変数を取得する必要があります。

アプリケーションに渡されるヘッダー変数はどのようにして取得できますか? 角度2で標準的な方法がありますか?

は、私はそれを自分自身私は「設定ヘッダ」の状況

+0

私はあなたがクライアント側のJSを通してそれを達成できるとは思わない。ここでの議論を参照してください:http://stackoverflow.com/questions/220149/how-do-i-access-the-http-request-header-fields-via-javascript – wannadream

+0

私はヘッダーを取得することは可能だろうと思うヘッダーを設定することもできます – imGreg

+0

これも参照してください。 http://stackoverflow.com/questions/220231/accessing-the-web-pages-http-headers-in-javascriptただし、これらのソリューションでは、まずあなたのケースではなくXMLHttpRequestを送信する必要があります。 – wannadream

答えて

0

私はあなたのための代替ソリューションを考えていますの多くを取得保管すべてを研究しようとしていたとき。私のグラフを見てください。 enter image description here

.NETに言及して以来、ここでMVCを使用してください。あなたが直接、クライアント側からヘッダを取得することはできません

@model string 

    ... 

    <script type="text/javascript"> 
     localStorage.setItem('auth-string', '@(Model)'); 
     window.location.href = 'angular-app.html'; 
    </script> 
+0

このソリューションでさえも。私はまだヘッダー情報を取得する方法や外部サイトからヘッダーを取得する場所を知っていません。 – imGreg

+0

@imGreg更新された回答を参照してください。 – wannadream

+0

私の質問の詳細は間違いかもしれません。私はバックグラウンドは.NETですが、ノード2で角度2を使用しています。 .NET + Angular 2を使用していません – imGreg

0

:あなたのビューSsoMiddleware.cshtmlで

public ActionResult SsoMiddleware() 
    { 
     string[] keys = Request.Headers.AllKeys; 
     string authString = ""; 
     foreach (var key in keys) 
     { 
      if (key == "SSO Authentication String") 
       authString = Request.Headers[key]; 
     } 

     return View(authString); 
    } 

、Javascriptを追加します。コントローラでhttps://www.asp.net/mvc は、あなたはこのような何かを行うことができます。

あなたができることは、リクエストのヘッダーのみを取得し、サーバーからクライアントに戻すパスをアプリケーション内に作成することです。アプリケーションには、存在するページのヘッダーがあることが前提です。

app.get('/getVariable', function (req, res) { 
    if (req.headers && req.headers.variablename) { 
    res.status(200); 
    res.send({ 
     name: req.headers.variablename 
    }); 
    } else { 
    res.status(404); 
    res.send({ 
     status: 404, 
     message: 'Headers not found' 
    }) 
    } 
}) 
関連する問題