中间件应用

中间件应用

1.路由保护,客户端在访问需要登录的页面时,可以先使用中间件判断用户登录状态,用户如果未登录,则拦截请求,直接响应,禁止用户进入需要登录的页面

//引入express框架
const express = require('express');
// 创建网站服务器
const app = express();
app.use('/admin',(req, res ,next) => {
	let isLogin = true;
	// 如果用户登录
	if (isLogin) {
		// 让请求继续向下执行
		next()
	}else{
		// 如果用户没有登录 直接对客户端做出响应
		res.send('您还有没登录 不能访问/admin这个页面')
	}
})
// 监听端口
app.get('/admin',(req,res) =>{
	res.send('您已经登录可以访问当前页面')
})
app.listen(3000);
console.log('网站服务器启动成功');

在这里插入图片描述

let isLogin = false;

在这里插入图片描述
2.网站维护公告,在多有路由的最上面定义接受所有请求的中间件,直接为客户端做出响应,网站正在维护中。
比如网站在夜间凌晨12点到早上6点这段时间中要维护,那么这个期间不想让用户访问这个网站,就可以使用中间件对所有请求进行拦截,然后在中间件当中对客户端做出响应,说当前网站正在维护,请在其它时间段再访问

//引入express框架
const express = require('express');
// 创建网站服务器
const app = express();

// 网站公告
app.use((req, res, next) =>{
	// 没有调用next请求方法 请求在这里直接终止了
	res.send('当前网站正在维护...')

})
app.use('/admin',(req, res ,next) => {
	let isLogin = false;
	// 如果用户登录
	if (isLogin) {
		// 让请求继续向下执行
		next()
	}else{
		// 如果用户没有登录 直接对客户端做出响应
		res.send('您还有没登录 不能访问/admin这个页面')
	}
})
// 监听端口
app.get('/admin',(req,res) =>{
	res.send('您已经登录可以访问当前页面')
})
app.listen(3000);
console.log('网站服务器启动成功');

在这里插入图片描述
3.自定义404页面

//引入express框架
const express = require('express');
// 创建网站服务器
const app = express();
// 中间件是有顺序的从上到下依次匹配如果所有的路由都没有匹配成功
// 说明了用户访问的请求路径是不存在的
// 网站公告
// app.use((req, res, next) =>{
// 	// 没有调用next请求方法 请求在这里直接终止了
// 	res.send('当前网站正在维护...')

// })
app.use('/admin',(req, res ,next) => {
	let isLogin = false;
	// 如果用户登录
	if (isLogin) {
		// 让请求继续向下执行
		next()
	}else{
		// 如果用户没有登录 直接对客户端做出响应
		res.send('您还有没登录 不能访问/admin这个页面')
	}
})
// 监听端口
app.get('/admin',(req,res) =>{
	res.send('您已经登录可以访问当前页面')
})
app.use((req, res, next)=>{
	// 链式调用 为客户端响应404状态码以及提示信息
	res.status(404).send('当前访问的页面是不存在的')
})

app.listen(3000);
console.log('网站服务器启动成功');

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值