ログインフォームで始まるシングルページアプリケーションを実装しようとしています。フロントエンドには AngularJS を使用しています。
ログインのコントローラーで認証データを確認し、問題がなければ、($cookieStore サービスを使用して) ユーザー データを使用して Cookie を設定し、別のビューにルーティングします。ここでは、2 番目のビューのコントローラーで、Cookie からのユーザーが空かどうかを確認し、空である場合は、ログイン ビューにリダイレクトします。
私がやりたいことは、ユーザーがブラウザを閉じたとき、またはページを離れたときに Cookie を削除することです。私は使用しようとしました:
$scope.$on("$locationChangeStart", function(){
$cookieStore.remove('user');
});
また
$scope.$on("$destroy", function(){
$cookieStore.remove('user');
});
しかし、それは機能しません。ユーザーがログイン (Cookie が設定されている) し、2 番目のビューに正常にリダイレクトされた後、ブラウザーを閉じる/ページを離れる (Cookie はまだ存在する) というシナリオを回避したいと考えています。別のユーザーが 2 番目のビューの URL を書き込み、最初のユーザーのデータを含む Cookie がまだ存在するため、認証に成功します。
誰でもこれで私を助けることができますか?