Backbone:如何获取经过身份验证的用户数据

时间:2013-03-04 06:20:30

标签: backbone.js underscore.js marionette

我正在使用Backbone和Marionette。

我有一个已定义的用户模型:

Users.User = Backbone.Model.extend({
    defaults: {
        short_name: '',
        full_name: ''
    }
});

我想在我的骨干代码中轻松访问当前登录的用户数据。

我不确定是否:

  1. 有一个单独的模型,它继承自用户模型(可能是一个Users.AuthUser ??)
  2. OR

    1. 在Users.User模型中添加一个单独的函数,它返回一个User模型的实例,但包含登录的用户数据。
    2. 我也不确定如何检索当前登录的用户数据。

      我是否通过端点网址http://example.com/me作为JSON公开数据?

      或者以某种方式Backbone可以访问会话数据?

2 个答案:

答案 0 :(得分:1)

一般的经验法则是,如果subclass具有与父项无关的属性/方法,则应将其子类化。在我看来,这就是一个例子。

Backbone(只是一个MVC JS实现)无法访问您的会话数据。因此,这需要通过REST请求提供。

答案 1 :(得分:0)

模型之间不共享数据。除非您需要在用户模型中为经过身份验证的用户提供特定功能,否则只需使用更多数据填充身份验证即可。

我这样做的方法是使用fetch()方法,确保我的模型与返回当前登录用户的JSON的端点进行通信。

为了为经过身份验证的用户和其他用户定义不同的urlRoot,您需要有两个单独的模型。

P.S。,实际上我使用socket.io作为同步协议而不是REST API,所以我只是使用不同的事件名称同步当前用户与联系人。

相关问题