2013-07-01 2 views
2

Я сделал одностраничное регулярное приложение, используя Angular.js после входа пользователя, если обновляется в браузере, информация о знаке ушла, статус регистрации сброс, я должен снова войти в систему, как я могу сохранить в журнале событий событие, обновляющееся в браузере?как сохранить статус входа после обновления с помощью Angular.js

Спасибо за вашу помощь

+0

Сохраните сессионный билет в cookie? –

ответ

7

Вы можете использовать AngularJS службу $cookieStore.

Но в AngularJS 1.0.7- вы не можете установить путь или продолжительность файла cookie, вам нужно будет реализовать свою собственную услугу.

Некоторые дополнительные советы:

-для AngularJS 1.0.7- вам нужно скачать библиотеку из here

-вы необходимо внедрить услугу $ 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), и сеанс может быть восстановлен на сервере.

+0

Спасибо Kcsoft, можете ли вы дать фрагмент кода ?, В настоящее время я сохраняю зарегистрированную информацию о пользователе в $ rootScope. Сбрасывается ли $ rootScope при обновлении в браузере? –

+0

сделал некоторые изменения с примером. – kcsoft

Смежные вопросы