Используйте определенное промежуточное программное обеспечение в Экспрессе для всех путей кроме определенного

Я использую платформу Экспресса в node.js с некоторыми функциями промежуточного программного обеспечения:

var app = express.createServer(options);
app.use(User.checkUser);

Я могу использовать .use функция с дополнительным параметром для использования этого промежуточного программного обеспечения только на определенных путях:

app.use('/userdata', User.checkUser);

Действительно ли возможно использовать переменную пути так, чтобы промежуточное программное обеспечение использовалось для всех путей кроме определенного, т.е. корневого пути?

Я думаю о чем-то вроде этого:

app.use('!/', User.checkUser);

Так User.checkUser всегда называется за исключением корневого пути.

59
задан 16 October 2012 в 23:00

1 ответ

Пользуйтесь этой библиотекой, названной экспресс - если

Не Требуют аутентификации для каждого запроса, если путем не является index.html.

app.use(requiresAuth.unless({
  path: [
    '/index.html',
    { url: '/', methods: ['GET', 'PUT']  }
  ]
}))

Путь это могла быть строка, regexp или массив любого из тех. Это также мог быть массив объекта, который является парами ключей методов и URL. Если путь запроса или путь и соответствие метода, промежуточное программное обеспечение не будет работать.

Эта библиотека, конечно, поможет Вам.

1
ответ дан 1 November 2019 в 12:08

Другие вопросы по тегам:

Похожие вопросы: