expressを使用してBASIC認証を試してみたよ。
やり方は、expressのbasicAuthメソッドをcreateServer時に叩くだけ。
これで、サーバはクライアントに401を返すので、ブラウザからユーザ名とパスワードを入力すると
authorizeメソッドが呼ばれます。
var app = express.createServer(express.basicAuth(authorize)); // Basic Auth function authorize(username, password) { return 'username' === username & 'password' === password; }
3行目以降を次のように変更すれば、パスを分けてBasic認証することが可能っす。
app.all('/hoge/*', express.basicAuth(function(user, password) { return user === 'username' && password === 'password'; }));
■■■■■■■■ 追記(2012/10/18) ■■■■■■■■
expressのバージョンがあがって使い方が少し変わりました。
app.configure(function(){ app.use(express.basicAuth(function(user, pass){ return 'username' == user & 'password' == pass; })); app.use(app.router); // これより前にBasic認証を書く });