2017-10-16 4 views
0

그래서 나는 인증 과정에서 새로운 사람입니다. 난 그냥 설치 지금 여권과를 사용하여 내 로그인은 내 사용자는 그것은 내 홈페이지에 나를 리디렉션.인증 및 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('/'); 
    }); 

에 기록하도록되어 있지만, 지금 내 응용 프로그램의 모든 페이지는 사용자에 따라 다른 것을 나는 그것을 싶습니다 로그인 한 사용자의 데이터를 기반으로 페이지를 렌더링하려면 어떻게해야합니까?

+0

페이지를 어떻게 렌더링하고 있습니까? 템플릿을 사용하고 있습니까? 아니면 모든 클라이언트 사이드 자바 스크립트입니까? –

+0

안녕하세요, 저는 주로 내 페이지를 ejs 파일로 렌더링합니다. –

+0

예를 들어, 로그인 한 사용자의 데이터에 액세스 할 수있는 방법이 궁금합니다. res.render ('index', {loggedInUserData : loggedInUserData} –

답변

2

홈페이지 경로를 통해 인증 된 사용자가 있는지 확인할 수 있으며, 그렇다면 해당 사용자의 데이터가있는 템플릿을 렌더링 할 수 있습니다.

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

이것은 정확히 내가 필요한 것입니다. 좋은 날. –

관련 문제