当前位置: 首页 > news >正文

2022最新泛站群程序常德政府网站

2022最新泛站群程序,常德政府网站,合肥做网站专家,iis .htaccess wordpress目录 1. 目录结构 2. 代码实现 2.1 安装Express 2.2 app.js - 主文件 2.3 authMiddleware.js - 局部生效的中间件 3. 程序运行结果 4. 总结 在Node.js的Express框架中,局部生效的中间件是指仅在特定路由或路由组中生效的中间件。它可以用于权限验证、数据过滤…

目录

1. 目录结构

2. 代码实现

2.1 安装Express

2.2 app.js - 主文件

2.3 authMiddleware.js - 局部生效的中间件

3. 程序运行结果

4. 总结


在Node.js的Express框架中,局部生效的中间件是指仅在特定路由或路由组中生效的中间件。它可以用于权限验证、数据过滤、日志记录等特定功能,而不会影响整个应用的所有请求。下面我们通过代码示例详细介绍如何实现局部生效的中间件。


1. 目录结构

/your-project├── app.js                # 主文件,启动应用├── middleware│   └── authMiddleware.js  # 局部生效的中间件(模拟身份验证)└── package.json          # 项目依赖管理文件

2. 代码实现

2.1 安装Express

如果你还没有安装Express,请先执行以下命令:

npm init -y
npm install express

2.2 app.js - 主文件

app.js是应用的主入口,我们将在这里引入局部中间件,并应用到指定的路由。

// app.js
const express = require('express');
const app = express();// 引入局部中间件
const authMiddleware = require('./middleware/authMiddleware');// 定义公共路由(不需要中间件)
app.get('/', (req, res) => {res.send('<h1>Welcome to the Home Page</h1>');
});// 使用局部中间件的路由
app.get('/dashboard', authMiddleware, (req, res) => {res.send('<h1>Welcome to the Dashboard</h1>');
});app.get('/profile', authMiddleware, (req, res) => {res.send('<h1>Welcome to Your Profile</h1>');
});// 监听端口
const PORT = 3000;
app.listen(PORT, () => {console.log(`Server is running on http://localhost:${PORT}`);
});

说明:

  • authMiddleware 仅用于/dashboard/profile路由,而/路由不受影响。

  • 只有访问受保护的路由时,中间件才会执行身份验证。


2.3 authMiddleware.js - 局部生效的中间件

authMiddleware.js是一个模拟身份验证的中间件,它检查请求中是否带有?auth=true参数,来决定是否允许访问。

// middleware/authMiddleware.js
const authMiddleware = (req, res, next) => {if (req.query.auth === 'true') {console.log('Authentication successful');next(); // 继续执行路由处理} else {res.status(403).send('<h1>Access Denied: Authentication Required</h1>');}
};module.exports = authMiddleware;

说明:

  • 这个中间件检查查询参数auth是否为true,如果是,则允许访问,否则返回403错误,并提示“访问被拒绝”。


3. 程序运行结果

启动应用:

node app.js

然后访问以下地址:

  • 访问 http://localhost:3000/(无需认证)

    • 终端无额外输出

    • 页面显示:

      <h1>Welcome to the Home Page</h1>
      
  • 访问 http://localhost:3000/dashboard

    • 终端无输出,页面显示:

      <h1>Access Denied: Authentication Required</h1>
      
  • 访问 http://localhost:3000/dashboard?auth=true

    • 终端输出:

      Authentication successful
      
    • 页面显示:

      <h1>Welcome to the Dashboard</h1>
      

4. 总结

  • 局部中间件 只影响特定的路由,而不会全局生效。

  • 通过在路由定义中传递中间件(如app.get('/dashboard', authMiddleware, handler)),可以控制它的作用范围。

  • 本示例使用了简单的身份验证逻辑(查询参数),在实际应用中可以扩展为基于JWT或Session的认证机制。

希望本教程能帮助你理解Node.js的局部生效中间件!

 

http://www.cadmedia.cn/news/15103.html

相关文章:

  • 多语种网站开发草根seo视频大全
  • 电商详情页设计模板seo变现培训
  • 牙科医院网站建设方案百度首页 百度
  • 保健品网站建设可以下载新闻视频的网站
  • 建设建行积分兑换商城网站网站优化什么意思
  • 惠州市建设局建工办网站百度推广登录首页
  • 广州市越秀区建设局官方网站网站建设的流程是什么
  • 支付宝支持12306网站建设建站平台如何隐藏技术支持
  • 微网站建设代理商站长网站查询工具
  • 深圳著名设计公司手机优化大师下载2022
  • 如何做网站收徒弟网站网络广告策划的步骤
  • 上海做网站的费用郑州粒米seo外包
  • 山东网站建设软件百度经验手机版
  • 网站建设运营公司推荐网页设计主题推荐
  • 深圳建设网站公司网络营销就业方向和前景
  • 哈尔滨网站建设信息汕头seo外包公司
  • 网站建设div设置圆角seo全称英文怎么说
  • 网页升级访问紧急大通知狼福州seo扣费
  • 电子政务服务网站建设今日时政新闻
  • 能发朋友圈的网站建设广告语免费建站工具
  • 怎么做淘宝客个人网站百度官网首页入口
  • 专业的河南网站建设公司网址大全2345
  • 北京网站设计制作招聘信息新版阿里指数官网
  • 自己做的网站如何让百度搜索公司网站搭建
  • 新开传奇发布网站百度指数分是什么
  • 网站的建设属于无形资产成都高薪seo
  • 东营网站建设公司国内优秀个人网站欣赏
  • 网站开源程序网络推广运营主要做什么
  • 架设网站是自己架设服务器还是租服务器百度流量推广项目
  • soho设计网站自媒体seo是什么意思