express.js - промежуточное программное обеспечение доступа к сеансу не работает - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь создать промежуточное программное обеспечение, используя JS, Express и Session, где доступ к определенным страницам блокируется в зависимости от того, существует ли сеанс. Вот что я пробовал:

function validateAdminLogin(req,res,next) {
  if(req.session.adminId) {
    next()
  } else {
      res.redirect('/signIn')
  }
}

app.all('/admin/*',validateAdminLogin,function(req,res,next){
  next()
})

После попытки доступа к любой из страниц в / admin без активных сеансов код все еще обращается к файлам / admin.

1 Ответ

0 голосов
/ 28 июня 2018

Обязательно добавьте фрагмент ниже перед любой конечной точкой / admin.

function validateAdminLogin(req,res,next) {
  if(req.session.adminId) {
    next()
  } else {
      res.redirect('/signIn')
  }
}

app.all('/admin/*',validateAdminLogin,function(req,res,next){
  next()
})

Пример:

app.get('/admin/test2', (req, res) => {
  res.send('Not affected by middleware')
})

app.all('/admin/*', validateAdminLogin)

app.get('/admin/test', (req, res) => {
  res.send('Affected by middleware')
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...