node.js制作一个简单的登录拦截器
拦截器在web开发中随处可见,比如站点的管理后台,不说所有人都能进入,所以就需要做一个拦截器并友好的跳转到提示页.
下面我们简单实现一种,判断用户是否登录成功,登录不成功的用户自动重定向到登录页面.
首先我们实现一个过滤器
exports.checkAuth=function(req,res,next){ vartoken=req.signedCookies.token; if(token&&req.session.user&&req.session.user.token===token) next(); elseif(token){ //ifinvalidtokenornosession,shouldrebuild varauthInfo=user.getAuthInfo(token); if(authInfo&&authInfo.isAuth){ req.session.user={ userID:authInfo.userID, userName:authInfo.userName, isAuth:authInfo.isAuth, token:token } next(); }else res.redirect('/user/login'); }else res.redirect('/user/login'); }
然后定义路由,并加入过滤器
module.exports=function(app){ app.get('/user/blogList',pageAdmin.checkAuth,pageAdmin.pageList); app.all('/user/post',pageAdmin.checkAuth,pageAdmin.pagePost); }
上面的路由定义接收3个参数,第一个是请求的url路径,第二个是过滤器,如果满足过滤器将下一步进入路由处理函数,如果不满足将不会走到后面的路由定义函数里.
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。