2015-05-18 5 views
1

У меня есть следующий фрагмент кода, в котором я храню учетные данные пользователя в локальном хранилище вместе с его полномочиями (независимо от того, является ли он администратором или нет).Как хранить идентификатор сеанса входа в cookie в угловых js?

.success(function (user) { 
      localStorageService.set('localStorageUser', user.username); 
      localStorageService.set('localStorageUserRole', user.authorities[0].authority); 

      $rootScope.showMenu = true; 
      $rootScope.user = user.username; 

      if(localStorageService.get('localStorageUserRole') === 'ROLE_ADMIN'){ 
       $rootScope.isAdmin = true;     
      } 
      else { 
       $rootScope.isAdmin = false;      
      }     

      d.resolve(); 
     }) 

Я хочу знать, как я могу сохранить запись пользователя идентификатор сеанса в куки, а также установить дату истечения срока для печенья в AngularJS.

ответ

6

AngularJS уже предоставил обертку для работы с куки-файлами.

Вы можете посетить эту страницу, чтобы узнать, как добавить в ngCookies плагин для вашего проекта: https://docs.angularjs.org/api/ngCookies

Первый включает угловой cookies.js в вашем HTML:

Вы можете скачать этот файл из следующих мест:

Google CDN eg

//ajax.googleapis.com/ajax/libs/angularjs/XYZ/angular-cookies.js

Затем загрузите модуль в приложении, добавив его в качестве зависимой модуля:

угловой .module ('app', ['ngCookies']);

С этим вы готовы добраться до !

Использование $ печенья очень просто:

$cookies.put('user', user.username); 
var username = $cookies.get('user'); 

//You can set the expired time with the third params 
var today = new Date(); 
var expired = new Date(today); 
expired.setDate(today.getDate() + 1); //Set expired date to tomorrow 
$cookies.put('user', user.username, {expires : expired }); 

Подробнее о $ печенье: https://docs.angularjs.org/api/ngCookies/service/$cookies

+5

Почему вы создаете 'today' вообще? Почему бы не просто устаревать до 'new Date();'? – FrankerZ

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