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); } }) })