确定这是我的路由器代码,我正在尝试访问主页上的用户帐户信息。到目前为止没有运气......我在这里做错了什么?
// 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
}
);
});
答案 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}