介绍

这边的拦截器,对应于spring MVC中的filter,所有的http请求,通过拦截器处理之后才能访问到对应的代码/资源。
最典型的应用场景就是实现访问权限控制,给予不同的用户/用户组不同的页面和接口访问权限,仅能够访问允许的页面和接口。
场景
app.post('/login', function(request, res, next){
// do something
});
app.post('/getData',function(request, res, next){
// do something
var data="some data";
res.send({"data":data});
});
如果不做任何处理,任何人发送getData的post请求可以直接从后台读取数据,而不需要任何的登陆,只需要知道接口就可以。
对应每个接口,如果在每个接口下面加上权限判断,代码会非常的重复,于是面向切面就来了,可以通过把拦截器加在每个http请求之前,来实现权限判断的功能。
实现
// 所有用户可以访问index.html, error.html
// admin可以访问admin.html, /getData
// 登陆用户可以访问home.html
app.all('/*', function(request, res, next){
// 思路:
// 得到请求的url
// 然后得到request的cookie,根据cookie得到当前登陆的用户
// 判断用户对应url的权限
var jsPattern=/\.js$/;
var url=request.orignalUrl;
if(jsPattern.test(url)){
// 公共部分,放行
next();
return;
}
if(url=='index.html'||url=='error.html'){
next();
return;
}
var cookie=JSON.stringify(req.cookies);
if(access){
next();
}
else{
res.redirect('error.html');
}
});
实现思路:
1. 拦截所有请求(上面的就可以啦),得到当前访问的url
2. 根据cookie得到当前用户
3. 根据url和用户对应的身份来判断是否可以访问
4. 如果可以调用next();
5. 如果不能访问,返回错误信息
注意
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Express
# Node.js
# 拦截器
# 登录拦截器
# node puppeteer(headless chrome)实现网站登录
# 详解node登录接口之密码错误限制次数(含代码)
# node.js制作一个简单的登录拦截器
# 可以直接
# 就可以
# 访问权限
# 来了
# 只需
# 可以通过
# 仅仅是
# 要知道
# 不做
# 用户可以
# 后会
# 来实现
# 错误信息
# 大家多多
# 加在
# 不需要任何
# 最典型
# 应于
# 判断是否
相关文章:
公司网站设计制作厂家,怎么创建自己的一个网站?
如何在七牛云存储上搭建网站并设置自定义域名?
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
高端企业智能建站程序:SEO优化与响应式模板定制开发
如何通过cPanel快速搭建网站?
如何通过虚拟机搭建网站?详细步骤解析
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
建站主机核心功能解析:服务器选择与网站搭建流程指南
如何用PHP快速搭建CMS系统?
建站主机类型有哪些?如何正确选型
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
完全自定义免费建站平台:主题模板在线生成一站式服务
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
如何快速搭建支持数据库操作的智能建站平台?
建站主机选购指南:核心配置与性价比推荐解析
网站制作公司,橙子建站是合法的吗?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
建站之星安装后如何自定义网站颜色与字体?
如何零成本快速生成个人自助网站?
如何零基础开发自助建站系统?完整教程解析
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
,石家庄四十八中学官网?
建站之星安装需要哪些步骤及注意事项?
C#如何序列化对象为XML XmlSerializer用法
如何登录建站主机?访问步骤全解析
如何用wdcp快速搭建高效网站?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
Android自定义控件实现温度旋转按钮效果
如何在腾讯云服务器快速搭建个人网站?
香港网站服务器数量如何影响SEO优化效果?
制作电商网页,电商供应链怎么做?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
如何在万网主机上快速搭建网站?
如何通过VPS建站实现广告与增值服务盈利?
如何选择PHP开源工具快速搭建网站?
如何通过宝塔面板实现本地网站访问?
Bpmn 2.0的XML文件怎么画流程图
如何快速打造个性化非模板自助建站?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
如何制作网站标识牌,动态网站如何制作(教程)?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
招商网站制作流程,网站招商广告语?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
如何在建站之星绑定自定义域名?
如何选择网络建站服务器?高效建站必看指南
在线教育网站制作平台,山西立德教育官网?
网站制作价目表怎么做,珍爱网婚介费用多少?
*请认真填写需求信息,我们会在24小时内与您取得联系。