Пропустить basicAuth для одного маршрута - PullRequest
0 голосов
/ 08 ноября 2011

Я использую node, express и connect для простого приложения и реализовал базовую аутентификацию HTTP следующим образом (для краткости оставлено много кода):

var express = require('express'),
connect = require('connect');

app.configure = function(){
  // other stuff...
  app.use(connect.basicAuth('username', 'password'));
  // other stuff...
};

Я пробовал поискать в Google и дажепопытался реализовать мою собственную аутентификацию, но я не могу понять, как пропустить эту аутентификацию только для одного маршрута.

Я был бы очень признателен, если бы кто-нибудь предложил какую-либо помощь в этом?

1 Ответ

4 голосов
/ 08 ноября 2011

Если вы не хотите использовать аутентификацию для всех маршрутов, вы должны добавить функцию аутентификации в качестве промежуточного программного обеспечения для каждого отдельного маршрута, например:

app.get('/mysecretpage', basicAuth, function (req, res) {
  console.log('you have to be auth to see this page');
}); 

Вот обычный маршрут без аутентификации:

app.get('/sample', function (req, res) {
  console.log('everybody see this page');
}); 

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

...