ember.js + ember-simple-auth认证后如何加载应用程序模型?

鲍比·夏卡蒂诺(Bobby Sciacchitano)

我添加了ember-simple-auth来处理我正在构建的应用程序的身份验证。当前在ApplicationRoute中,我正在使用一种模型来加载侧栏内容。

某些数据取决于与auth令牌一起返回的用户URL属性。

我正在重构代码以处理通过身份验证的用户的数据加载,但是我不确定将模型调用放在何处以加载侧边栏数据。

我认为在isAuthenticated属性上添加观察者以触发模型加载或采用我的当前路线并将它们包装在负责加载模型的资源中是否有意义?

申请途径

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' });
});
山姆·塞里科夫(Sam Selikoff)

您可以使用this.get('session.user_email')in路由获取经过身份验证的用户的电子邮件,然后使用该电子邮件从服务器中获取用户数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章