2017-08-04 4 views
-1

角度2を学習しています。角度+春にアプリケーションを作成しようとしています。角度2サーバー側リダイレクト

伝統的なJ2EE MVCアプリケーションでは、クライアントは要求を送信し、サーバーはそれを処理して別のページにリダイレクトします。別のページにリダイレクトする決定はサーバー側で行われます。

私はログインページを作成しました。フォームを提出し、クライアントにSUCCESS/FAIL応答を送信することができます。しかし、私は、角度のタイプのスクリプト(クライアント)の代わりにサーバーからのログインの成功ページにリダイレクトして、セキュリティの問題である別のコンポーネントにリダイレクトしたいと思います。

このシナリオの処理方法を教えてもらえますか?

+0

セキュリティ上の問題とはどのようなものですか? –

答えて

1

私はあなたの懸念をユーザーがjavascriptコードを実行し、ログインに成功し、ホームページに行くことができると理解しています。しかし、データを取得するために行われた後続のリクエストごとに、セッションを検証するサーバーに送信されます。ユーザーはログインしていないため、データを戻すことはできません。したがって、サーバー側でセッションを登録しないと何もできません。

つまり、クライアント側にログインした後にホームページにリダイレクトすることはセキュリティの脅威ではありません。

質問に答えるには、jspと角度の両方が必要です。 index.jspの内部にはセッションのチェックがあり、ログインページにリダイレクトされます。成功すると、サーバーは角度コードを表示することができます。

1

角度では、フォームがサービス内の関数にデータを渡した後にPOST要求を送信するサービスを定義します。サービスは成功/フェイルバックになり、失敗した場合にログインページにエラーを表示するためにクライアント(角度)側で再ルーティングされます。

すべてのAPI呼び出しでは、ユーザーがまだログインしていることをセッションクッキー経由で通知する必要があります.Apiコールをどうにかして保護する必要があるため、angular2/4シングルページでルーティングマジックだけを実行できます。