簡體   English   中英

身份驗證和node.js:如何根據已登錄的用戶呈現頁面?

[英]Authentication and node.js: how do I render a page based on logged in user?

所以我是身份驗證的新手。 我只是使用Passport設置登錄名,現在應該可以登錄我的用戶了。

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM