2017-10-06 2 views
0

私は4番めの新しいアプリケーションです4番のアプリケーションでログインページとホームページを持っています。ホームページ。1つのタブがログアウトしたときに、すべてのブラウザタブからログアウトします

1つのタブからログアウトしたときに複数のタブでアプリケーションを開くと、アプリケーションの他のタブをクリックすると、Gmailのようにログインページにリダイレクトされます。

これについて私は何か助けてください。事前に感謝します。

+0

あなたは、いくつかのサンプルコードを提供することができますユーザーデータを保存する –

+0

あなたはリフレッシュ方法やrユーザーがあるタブからログアウトした場合、アプリケーション内でクリックイベントが発生すると、urlまたはページを他のタブに読み込みます。これが私の問題を解決します。 –

答えて

0

認証トークンを無効にする要求をサーバーに送信できます(角度に関係なく)。トークンが有効な場合はすべてのタブで定期的にサーバーをチェックし、そうでない場合はログアウトする必要があります。

0

ソリューション:

それはあなたを助ける、認証トークンを維持してください。これは、角度4

例に関連していない:

  1. ログイン
  2. は、トークンが利用可能かどうか
  3. であるかどうかを各バックエンド呼び出しのトークンをチェックしながら、データベース内のトークンとストアを作成します。
  4. トークンを使用できない場合ログインページにリダイレクト
  5. ログアウトしている間にデータベースからトークンを削除する
  6. 複数のタブを開いたときに、 1つのタブからクリックしてから別のタブからクリックしようとすると、トークンがチェックされます。データベースにトークンがないと、自動的にログインページにリダイレクトされます。

これはあなたの質問

0

ローカルストレージにログイン/トークン情報を保存する場合は、あなたがそのような変化 を聞くことができます。私たちはあなたの許可をヘンデルとどのようにあなたの方法を知ることができるように

window.addEventListener('storage', (event) => { 
    // there is a problem with IE (in all other browsers event not emitted in current window) 
    // so need to check that it is the other tab that emitted event 
    // and avoid infinite loop 
    if (!document.hasFocus() && event.key === environment.localStorageTokenKey) { 
    // do stuff here 
    window.location.pathname = '/'; 
    } 
}, false); 
関連する問題