nodeのexpressフレームワークでBasic認証を実現した場合。
認証関数を作成
app.js
var auth = express.basicAuth(function(user,pass){
return user === myuser && pass === mypasswd;
});
routingのミドルウェアとして使用
app.get("/admin", auth, function(req, res){
res.render("admin", { title : "This is admin" });
});
expressが使っているミドルウェア、Connectはroutingの際に、関数を何個も通ってレスポンスを行うという作りになっている。このときにfalsyな値を返すと次にいかないので、間にauth関数を挟んでやるとBasic認証の仕組みが実現できる。