0

Я использую ember-simple-authember-simple-auth-token, но я думаю, что это не имеет значения). Всякий раз, когда вошедший в систему пользователь перезагружает страницу, сеанс должным образом воссоздается. Я одна проблема: когда пользователь вводит учетные данные, я бегу этот код:Триггерное действие при обновлении сеанса, при перезапуске приложения

// controllers/login.js 

import Ember from 'ember'; 

import helpers from '../lib/helpers'; 

function refreshActiveUser(store, session) { 
    store.find('user', 'me').then(function(user) { 
     Ember.set(session, 'activeUser', user); 
    }); 
} 

export default Ember.Controller.extend({ 
    session: Ember.inject.service('session'), 
    actions: { 
     authenticate: function() { 
      var identification = this.get('model.identification'), 
       password = this.get('model.password'), 
       authenticator = 'authenticator:token', 
       store = this.get('store'), 
       session = this.get('session'); 
      session.authenticate(authenticator, {identification, password}).then(function() { 
       refreshActiveUser(store, session); 
      }); 
     } 
    }, 
}); 

Но я не знаю, как вызвать мой refreshActiveUser по применению перезагрузки. Как я могу прослушать событие с инициализацией сеанса?

ответ

1

Если я правильно понял ваш вопрос правильно, то вы могли бы сделать наблюдатель session.isAuthenticated

loggedIn: function() { 
     if(!this.get('session.isAuthenticated')) 
      return; 

     var store = this.get('store'); 
     var profileLoaded = get_personal_settings(store); 
     var self = this; 

     profileLoaded.then(function(profile) { 
      // TODO: only used for user, save user, not the whole profile 

      self.set('session', profile); 
     }); 


}.observes('session.isAuthenticated').on('init'), 
+0

Спасибо, интересно. Где я могу найти документацию о '.on()' -операторе? – dangonfast

+0

И этот синтаксис кажется старым, не так ли? Я на Ember 2.2.0. – dangonfast

+0

@ gonvaled Да, я использую Ember 1.13. Новый синтаксис должен быть => loggedIn: Ember.observer ('session.isAut ...', function() { –

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