node的拦截器主要目的是用户登录的时候为用户存了一个session,用户登录后的其他操作都要经过拦截器,对比session的值,并把session的过期时间延长。
拦截器主要是在路由文件routes.js中写的。
路由中增加一个permit,对应的方法restrictFree,现在还没拦截呢哦,以后具体拦截的密码就在这了,请求的req,res这里都可以用
function restrictFree(req, res, next) {
console.log("restrictFree");
next();
}
{
method:‘get‘,
url:"/ccap",
dataType:"json",
permit:restrictFree,
fn:fileprocess.ccap
},
{
method:‘get‘,
url:"/getccapImg",
dataType:"json",
permit:restrictFree,
fn:fileprocess.ccap
}
];
var methods,url,processFn,permit;
_.each(rules,function(rule){
methods=rule.method.split(";");
url=rule.url;
permit = rule.permit;
processFn=rule.fn;
_.each(methods,function(method){
if(method==="get" && processFn){
app.get(url,permit,processFn);
}else if(method==="post" && processFn){
app.post(url,permit,processFn);
}else if(method==="put" && processFn){
app.put(url,permit,processFn);
}else if(method==="delete" && processFn){
app.delete(url,permit,processFn);
}
})
})