Angular.js を使用して 1 ページの通常のアプリケーションを作成しました。ユーザーがサインインした後、ブラウザで更新すると、サイン情報がなくなり、サインイン ステータスがリセットされ、再度サインインする必要があります。ブラウザで更新を行うステータスイベントのログイン?
ご協力いただきありがとうございます
AngularJS サービス$cookieStoreを使用できます。
しかし、AngularJS 1.0.7 では、パスや Cookie の有効期間を設定できません。独自のサービスを実装する必要があります。
その他のヒント:
-AngularJS 1.0.7 の場合-ここからライブラリをダウンロードする必要があります
-コントローラー/サービスにサービス $cookieStore を注入する必要があります
- セッション Cookie をチェック/設定/削除するグローバル サービスを作成する必要があります。
サービスの使用に関する出発点の例:
app.service('global', function($cookieStore, $location, $filter) {
var globalService = {};
globalService.user = null;
globalService.isAuth = function (){
if (globalService.user == null) {
globalService.user = $cookieStore.get('user');
}
return (globalService.user != null);
};
globalService.setUser = function(newUser) {
globalService.user = newUser;
if (globalService.user == null) $cookieStore.remove('user');
else $cookieStore.put('user', globalService.user);
};
globalService.getUser = function() {
return globalService.user;
};
return globalService;
});
ログイン後、 setUser を呼び出して、ユーザー (サーバーから返されたトークン) を Cookie に保存します。次に、ログイン ユーザーを必要とするすべての要求に対して、認証トークン データを送信する必要があります。
トークンは PHP セッション (PHP を使用している場合) にすることができ、セッションはサーバー上で復元できます。