2017-02-22 20 views
1

Djangoの '次の操作'に似た、angular2に組み込まれた方法は、ユーザーが認証された操作を実行しようとしたときに何をしようとしたのかを覚えていますか?認証されていない操作を覚えている

シナリオ:

  1. ユーザーは
  2. ユーザーが
  3. ユーザーのページに
  4. ユーザーログをログインするリダイレクトされ、ユーザXのプロフィールを見るために
  5. ユーザーの試行でログインしていないユーザーにリダイレクトされますXのプロフィールページ
+0

あなたはリダイレクトプロセス用のガードを使用していますか? –

+0

はいauthguard/authserviceスタイルに似たシステムを使用しています – IzPrEE

答えて

1

あなたのAngular2ガードであなたはULDは、次の操作を行いますログイン機能で

canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) { 
    // Logged in logic. 

    // If not logged in store the state.url 
    localStorage.setItem('redirectUrl', state.url); 

    // Not logged in logic. 
} 

あなたが使用してリダイレクトすることができ、一度ログインに成功:

if (localStorage.getItem('redirectUrl')) { 
    this.router.navigate([localStorage.getItem('redirectUrl')]); 
} 
+1

ありがとう、これは完全に機能しました。 – IzPrEE