2013-02-11 63 views
0

我有一个棘手的问题,我有一个基于node.js后端使用express-resource访问数据库的Marionette应用程序。Marionette fetch用户登录node.js

我使用中间件来确保已登录的用户,如果没有,用户将被重定向到直接由节点提供服务的登录页面。登录后,用户获得会话cookie并被转发给木偶应用程序。

该应用程序不知道用户。为了得到用户,我必须通过ajax调用才能得到它。问题是,我不知道用户ID,因为会话令牌不包含此信息。

我的解决方案是:api中有两个资源,一个用于获取帐户,一个用于获取当前用户。这是我想避免的一种重复资源。

如何正确执行此操作?

+0

你是如何解决这个问题的?我有同样的问题,你是否避免在骨干视图中添加业务逻辑 – Warz 2013-03-13 15:13:42

+0

我向包含用户标识的答复添加了一个cookie。然后我通过jquery cookie读取cookie。我为用户模型使用单例模式。 – pfried 2013-03-17 17:56:40

回答

0

你可以简单地将用户ID添加到会话cookie ..

顺便说一句 - 确保你的后端只访问通过验证的用户的资源(根据会话),且不必向用户提供ID到AJAX调用。也许你实际上可以避免知道用户ID?

+0

是的,我有将用户ID添加到会话cookie的想法。后端确保只有在允许的情况下才能访问资源。也许这是最好的方法 – pfried 2013-02-11 12:01:48