Ember:私有数据模型响应中的安全性



如果使用ember-data编写ember应用程序,并使用后端进行持久化,我如何处理敏感数据?

让我们考虑一下下面的场景:

"作为一个用户,我想登录到我的应用程序"=> 客户端(ember-data)将持有User的实例,其中包含所有必要的信息。它们也包括一些非常私有的字段,例如Facebook-UID或其他东西。

"A用户我想管理我的朋友列表" => 好的,似乎在某些路由上,客户端必须从数据库中获取其他用户记录来解析例如,当前用户对象

的'myFriends'字段中与id相关的人的名字

User

name: DS.attr('String'),
myFriends: DS.hasMany('User') 

所以基本上问题是,一些数据记录有引用其他数据记录从同一模型,但记录中的一些字段不是公共的,因此不应该是可请求的。但是Ember-Data总是会请求整个模型,甚至当我写我的后端只发送减少的数据记录的方式,我猜Ember-Data不会喜欢,当一些字段被标记为"未定义",对吧?

您可以忽略该数据,将其设置为null或其他任意值。但是我建议使用包含所有非公开信息的UserPrivate模型类。这样,发生的事情更明显(读:维护友好),服务器甚至可以用HTTP状态码403(禁止)响应另一个用户的私有UserPrivate模型。

最新更新