我有this示例的简单nodejs / express应用程序。在该视图中,检查everyauth.loggedIn变量,但在我的应用程序中,我不使用everyauth模块,而是使用以下代码:
req.session.auth = user;
在这种情况下,如何在视图中访问req.session.auth?
答案 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 });