express / jade获取当前用户的视图

时间:2012-02-03 18:28:00

标签: node.js express pug

我有this示例的简单nodejs / express应用程序。在该视图中,检查everyauth.loggedIn变量,但在我的应用程序中,我不使用everyauth模块,而是使用以下代码:

req.session.auth = user;

在这种情况下,如何在视图中访问req.session.auth?

2 个答案:

答案 0 :(得分:7)

您需要使用dynamicHelper来公开会话对象(或会话对象本身)中的任何内容。您可以在app.js中执行以下操作:

app.dynamicHelpers({
  auth: function(req, res){
    return req.session.auth;
  }
});

然后在您的视图中,您将有一个指向会话对象的auth变量。例如:

You are logged in as <%= auth.name %>

答案 1 :(得分:1)

只是为了添加一些信息,Scott的答案就是在所有视图(Express' Dynamic Helpers doc)中提供“auth”对象的方法,但如果您只想在一个特定视图中使用它,你可以使用render方法中的locals传递它(Express' res.render doc):

res.render('yourView', { auth: req.session.auth });