Mic*_*bry 6 session login mongodb node.js facebook-login
介绍:
好的,我已经组合了一个不错的应用程序,允许用户登录(node.js、passportjs、mongodb)。现在进一步推进应用程序,我需要查看谁登录了。
理论:
所以这个想法刚刚打动了我,我认为最好的想法是传递 a connected = true,或者connected = false当用户登录时,然后注销到用户模型。
题:
我的问题是在我的应用程序中跟踪谁的会话处于活动/连接/登录状态的最佳方法是什么?它会将这些属性传递给模型吗?
是否有跟踪所有用户会话的标准方法?我不希望这是一个违反规则的自以为是的问题,但必须有一种技术方法来跟踪会话!对于这样的事情,最佳做法是什么?
试炼:
所以在这里我可以更具体地进行测试,但我忘记了在我的把手模板中我只能访问来自该用户 mongodb 模型的属性。
<div class="row">
{{#if user.connected}}
{{#each user.connected}}
<li>{{this}}</li>
{{/each}}
{{/if}}
</div>
Run Code Online (Sandbox Code Playgroud)
以上显然行不通,因为在为该页面创建路由时,数据是这样传递的。
res.render('profile', { user : req.user });
Run Code Online (Sandbox Code Playgroud)
所以我坚持使用connected: true,connected: false它很容易,有效,对我来说很有意义。
精致问题:
因此,根据给定的情况,我使用 express 进行路由,渲染并将响应对象传递给我的把手模板。我想创建一个模型,该模型admin = true只有该用户才能访问所有模型。
我的问题是在响应对象中如何传递所有用户的集合。它不能作为响应,我可能需要做一个 mongoDB 查询?这听起来对吗,比如
AppUser.find({ connected: true }, function (err, user) {
console.log(user);
res.render('profile', { user : user });
});
Run Code Online (Sandbox Code Playgroud)
类似上面的东西,我要测试它并回贴。我觉得我已经缩小了范围,那么将所有连接模型的列表传递给“res.render”以便我可以在我的模板中访问它们的最佳解决方案是什么?
编辑:所以这种作品,这是我遇到的一个问题。
我希望能够像这样呈现用户,res.render('chat', { user : req.user })但如果req.user是管理员,我也想呈现用户列表。所以在头顶上,我想传递两个对象。
AppUser.find({}, function (err, users) {
console.log(users);
res.render('profile', { user: req.user, users : users });
});
Run Code Online (Sandbox Code Playgroud)
车把
<div class="row">
{{#each users}}
{{#if this.connected}}
<li><b>Connected:</b> {{this.connected}}</li>
{{#if this.facebook.email}}
<li><b>Email:</b> {{this.facebook.email}}</li>
{{else}}
<li><b>Email:</b> {{this.local.email}}</li>
{{/if}}
{{/if}}
{{/each}}
</div>
Run Code Online (Sandbox Code Playgroud)
^^^ 有效!:) 有什么想法吗?
| 归档时间: |
|
| 查看次数: |
1018 次 |
| 最近记录: |