У меня есть приложение Node.js, где я использовал леса Yeoman для Angular. Я также использую ExpressJS для серверной части.Angularjs, Expressjs и passjs для проверки подлинности на стороне сервера
Поэтому в основном моя структура приложение:
app
-->views
--> more files
server.js
структура является более тяжелым, чем это, но это держать его просто.
В основном я использовал PassportJS на стороне сервера для аутентификации. Маршрутизация в настоящее время выполняется через параметры маршрутизации AngularJS.
я наткнулся вопрос сейчас, как мне нужно, чтобы выполнить аутентификацию, используя метод промежуточного слоя:
function ensureAuthenticated(req, res, next) {
console.log('authenticate=' + req.isAuthenticated());
if (req.isAuthenticated()) {
return next();
}
res.redirect('/')
}
Я создал app.get
на стороне сервера, чтобы проверить, если пользователь пытается получить к страница администратора без регистрации:
app.get('/admin', ensureAuthenticated,
function(req, res){
console.log('get admin' + req.params);
res.sendfile(__dirname + '/app/views/admin/users.html');
});
Но это никогда не идет на метод. Что я делаю не так?
Любые советы были бы замечательными.
Привет, аутентификация работает, если я просто поставил/admin, но мой url - localhost: 8888/#/admin. Он никогда не попадает в маршрут в экспресс, если я набираю URL-адрес, как показано на картинке – tjhack
localhost: 8888/#/admin - это угловая область, поэтому вы должны изменить свою логику. Я думаю, что, например, поставьте свой взгляд на путь администратора. – Whisher
У меня есть еще одна проблема, которая сейчас когда я направляюсь на страницу администратора, я нажимаю кнопку обновления в браузере, и он пытается отобразить страницу, но он указывает, что двигатель по умолчанию не указан. Я просто использую html-страницы? – tjhack