我該如何構建具有客戶登錄的應用程序的路由器?Ember:使用用戶登錄的應用程序
應用程序需要登錄訪問以下途徑:書籍,書籍,章節,ChapterCategory章。
路線關於和家不需要用戶進行登錄。
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'});
});
當用戶登錄時,他的名字被添加到應用程序模板中實現的主菜單的右側。因此,應用程序路徑正在提取用戶信息。如果用戶未記錄,則應用程序模型不會返回任何內容。
問題:
它有什麼特殊的考慮在申請途徑定義模型 時要注意的?
怎麼可能,如果應用程序的路線不會嘗試提取用戶信息的應用程序模板,那裏的客戶名稱顯示在導航菜單中進行更新?
如何實現用戶登錄界面,在你自己的灰燼應用程序?你是否創建了一條用戶路由並嵌套了需要登錄的路由?
感謝
會話對象與使用'this.store.find()'從Store中提取的同一對象是否具有相同的特徵?我能否用類似於this.get('session.user.childObject1.childObject2')'的語法提取會話對象的childs對象? –
會話對象維護您的會話狀態,並且可以引用任何要存儲在其中的模型作爲身份驗證過程的一部分。您可以在認證成功時使用Ember Data獲取當前用戶模型並將其存儲在會話中。正是這樣做的例子:http://blog.willrax.com/fetching-the-current-user-with-simple-auth/ –