Как мне построить маршрутизатор для приложения с именем пользователя?Ember: Приложения с логином пользователя
Приложение требует входа в систему, чтобы получить доступ по следующим маршрутам: Книги, книги, главы, глава, глава.
Маршруты About и Home не требуют регистрации пользователя.
App.Router.map(function() {
this.resource('application', function() {
this.resource('home');
this.resource('books');
this.resource('book', {path: '/:book_id'});
this.resource('chapters');
this.resource('chapterCategory', {path: 'chapter/:chapter_type'});
this.resource('chapter', {path: '/:chapter_id'});
this.resource('about', {path: '/aboutus' });
});
this.route('catchall', {path: '/*wildcard'});
});
Когда пользователь зарегистрирован, его имя добавляется справа от главного меню, которое реализовано в шаблоне приложения. Следовательно, маршрут приложения извлекает информацию пользователя. Если пользователь не зарегистрирован, модель приложения ничего не возвращает.
Вопросы:
Он есть какие-либо особые соображения, которые необходимо учитывать при определении модели в маршруте Application?
Как можно изменить шаблон приложения, в котором отображается имя клиента в меню навигации, если маршрут приложения не пытается извлечь информацию о пользователе?
Как вы внедряете вход пользователя в свои собственные приложения Ember? Вы создаете маршрут пользователя и устанавливаете маршруты, требующие входа в него?
Благодаря
Будет ли объект Session иметь те же характеристики, что и тот же объект, извлеченный из хранилища с помощью 'this.store.find()'? Смогу ли я извлечь дочерние объекты объекта сеанса с синтаксисом, подобным: 'this.get ('session.user.childObject1.childObject2')'? –
Объект сеанса поддерживает состояние сеанса и может ссылаться на любые модели, которые вы хотите сохранить в нем, как часть процесса проверки подлинности. Вы можете выбрать текущую модель пользователя, используя Ember Data, для проверки подлинности и занести ее в сеанс. Пример того, что делается здесь: http://blog.willrax.com/fetching-the-current-user-with-simple-auth/ –