Authentication ember.js+;ember simple auth如何在身份验证后加载应用程序模型?
我正在添加ember simple auth来处理我正在构建的应用程序的身份验证。目前在ApplicationRoute中,我使用一个模型来加载侧栏内容 某些数据依赖于随auth令牌返回的用户URL属性 我正在重构我的代码以处理为经过身份验证的用户加载数据,但我不确定将模型调用放在何处以加载侧栏数据 我认为在isAuthenticated属性上添加一个观测者来触发模型加载或者获取我当前的路由并将它们包装到负责加载模型的资源中是有意义的 申请路线Authentication ember.js+;ember simple auth如何在身份验证后加载应用程序模型?,authentication,ember.js,ember-simple-auth,Authentication,Ember.js,Ember Simple Auth,我正在添加ember simple auth来处理我正在构建的应用程序的身份验证。目前在ApplicationRoute中,我使用一个模型来加载侧栏内容 某些数据依赖于随auth令牌返回的用户URL属性 我正在重构我的代码以处理为经过身份验证的用户加载数据,但我不确定将模型调用放在何处以加载侧栏数据 我认为在isAuthenticated属性上添加一个观测者来触发模型加载或者获取我当前的路由并将它们包装到负责加载模型的资源中是有意义的 申请路线 App.ApplicationRoute = Em
App.ApplicationRoute = Ember.Route.extend(Ember.SimpleAuth.ApplicationRouteMixin,
{
model: function()
{
return Ember.RSVP.hash(
{
collections: Ember.$.getJSON(this.session.get('user.url') + '/collection'),
libraries: Ember.$.getJSON(ENV.api + '/library')
});
},
setupController: function(controller, model)
{
controller.set('libraries', model.libraries);
controller.set('collections', model.collections);
}
});
路线映射
App.Router.map(function()
{
this.route('login');
// Authenticated Routes
this.route('my-account');
this.route('collection', { path: '/collection/:id' });
this.route('item.new', { path: '/item/new' });
this.route('item.edit', { path: '/item/:id' });
this.route('library', { path: '/:slug' });
});
ApplicationRouteMixin
定义了在会话状态从未验证变为已验证时调用的。您还可以收听会话的您可以在路由中使用this.get('session.user\u email')
来获取经过身份验证的用户的电子邮件,然后使用该电子邮件从服务器获取用户数据。我最后做了类似的事情,只是将用户ID输入到响应包中。