Я использую ember-simple-auth
(и ember-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
по применению перезагрузки. Как я могу прослушать событие с инициализацией сеанса?
Спасибо, интересно. Где я могу найти документацию о '.on()' -операторе? – dangonfast
И этот синтаксис кажется старым, не так ли? Я на Ember 2.2.0. – dangonfast
@ gonvaled Да, я использую Ember 1.13. Новый синтаксис должен быть => loggedIn: Ember.observer ('session.isAut ...', function() { –