2016-02-25 3 views
0

У меня возникла проблема с модулем passport-local-mongoose. У меня была классическая процедура проверки подлинности с страницей регистрации и регистрации и перенаправление домашней страницы после успешного ввода их учетных данных. Basicaly, это произошло между этими двумя функции:Ошибка аутентификации в NodeJS сразу после входа в систему

router.post('/login', passport.authenticate('local', { 
    successRedirect: '/home', 
    failureRedirect: '/login' 
})); 

// some code 

router.get('/:pagename', function(req, res, next) { 
    passport.authenticate('local', function(err, user, info) { 
     if (err) { return next(err); } 
     if (!user) { return res.redirect('/login'); } 
     req.logIn(user, function(err) { 
      if (err) { return next(err); } 
      var pageName = req.params.pagename; 
      var data = pageFiller[pageName].getInitialState(); 

      res.render(pageName, data); 
     }); 
    })(req, res, next) 
}); 

я вижу в моем браузере консоли следующее перенаправлением после loged себя:

  1. /somepage, не аутентифицирован => перенаправляет для входа страница
  2. /login, Успешно введенные учетные данные => перенаправить на главную страницу
  3. /home, мгновенное перенаправление на страницу входа
  4. /login.

Некоторые тесты я уже сделал:

  • В функции обратного вызова 2 шага я печатал пользователя, чтобы обеспечить свое существование. Это было хорошо.
  • Я попытался войти/домой напрямую, указав URL-адрес в браузере.

Спасибо вам заранее.

login>/home>/login.

ответ

0

Хорошо, мое плохое ... Я очень новичок в этом.

Я был введен по ошибке простыми примерами, которые я проехал, и использовали аутентификацию в качестве проверки на всех других маршрутах. Here (Защита раздела маршрута) - это простая в понимании реализация.

Смежные вопросы