身份验证和node.js:我如何根据登录用户呈现页面?
问题描述:
所以我是身份验证新手。我刚刚安装使用护照,现在我登录我的用户应该先登录。身份验证和node.js:我如何根据登录用户呈现页面?
router.post('/login/data',
passport.authenticate('local', {successredirect:'/', failureredir:'/login', failureFlash: true}),
function(req, res) {
// If this function gets called, authentication was successful.
// `req.user` contains the authenticated user.
res.redirect('/');
});
它重定向我到我的主页,但现在我想它在我的应用程序的每个页面根据用户的不同已登录。如何根据登录的用户数据呈现我的页面?
答
在您的主页的路径中,您可以检查是否有用户认证,如果是,则使用他们的数据呈现模板。
router.get('/', function(req, res){
if (req.user) {
res.render('index', { user: req.user });
} else {
res.redirect('/login');
}
});
然后在您的.ejs
文件中,您将有权访问用户的数据。
<h1>Username: <%= user.username %></h1>
+0
这正是我需要的,非常感谢您的先生。美好的一天。 –
你是如何呈现你的网页?你在使用模板吗?或者是所有的客户端JavaScript? –
嘿,我主要用ejs文件渲染我的页面。 –
我想知道如何访问登录用户的数据,例如:res.render('index',{loggedInUserData:loggedInUserData} –