Expressjs如何显示/隐藏div以防用户记录

Non*_*yck 2 javascript authentication forms-authentication node.js express

我按照这个例子 - > https://github.com/visionmedia/express/tree/master/examples/auth

工作正常,但我不喜欢他们成功登录或退出时显示内容的方式.

它有其他方式做X或Y一次性用户的身份验证?例

我有一个用于登录的线性表单,很高兴隐藏该div一次性用户的身份验证,但我不能这样做

$(document).ready(function(){
  if(req.session.user) { $(.class of teh frm to hide).hide(); }
}
Run Code Online (Sandbox Code Playgroud)

我也试过session.user

一直都告诉我它未定义.我把它放在布局上.

那么如果用户进行身份验证,或者如果用户是管理员,我如何在视图上显示内容?

因为atm我看到它的唯一方法是授权一些路线并通过显示特定内容

req.session.success = 'Authenticated as ' + req.session.user.name
  + ' click to <a href="/logout">logout</a>. '
  + ' You may now access <a href="/restricted">/restricted</a>.';
} 
Run Code Online (Sandbox Code Playgroud)

认为它不是要走的路.

zem*_*rco 7

最好使用模板引擎来显示不同的内容,而不是客户端的javascript.如果您使用的是玉,请执行以下操作:

在app.js中创建一个变量,如果用户登录则传递给每个视图:

app.use(function(req, res, next){
  // all the stuff from the example
  if (req.session.user) {
    res.locals.user = req.session.user
  }
  next();
});
Run Code Online (Sandbox Code Playgroud)

在模板引擎中使用此变量(例如jade):

if user
  // show stuff here
else
  // for everyone else
Run Code Online (Sandbox Code Playgroud)