Stormpath用户信息

时间:2014-09-24 16:49:00

标签: node.js express stormpath

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

// 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
    }

  );


});

2 个答案:

答案 0 :(得分:2)

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

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

这将强制用户正确评估=)

答案 1 :(得分: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}