2

好的,这是我的路由器代码,我正在尝试访问主页上的用户帐户信息。到目前为止没有运气......我在这里做错了什么?

// Render the dashboard page.
router.get('/home', function (req, res) {
  if (!req.user || req.user.status !== 'ENABLED') {
    return res.redirect('/login');
  }



  console.log('User:', req.user.email, 'just accessed the /home page!');


  //user: req.user

  res.render('home', {
    title: 'Home',
    user:req.user.username
    }

  );


});
4

2 回答 2

2

问题(出现)是您没有在您的路线上设置 loginRequired 中间件。您应该将函数签名修改为:

router.get('/home', stormpath.loginRequired, function(req, res) {
  ...
});

这将迫使用户被正确评估=)

于 2014-09-28T14:58:40.447 回答
1

您的示例看起来是正确的,尽管我会在渲染调用中分配整个用户对象(现在您只是传递用户名)。

所以如果你把它放在routes/index.js

// Render the 'home' page if logged in and account is not disabled
router.get('/home', function (req, res) {
  if (!req.user || req.user.status !== 'ENABLED') {
    return res.redirect('/login');
  }

  res.render('home', {
    title: 'Home',
    user: req.user
  });

});

然后中的视图views/home.jade将如下所示:

html
  head
    title=title
  body
    p Hello, #{user.username}
于 2014-09-25T15:39:27.603 回答