为了账号安全,请及时绑定邮箱和手机立即绑定

【备战春招】第17天 新版 Node.js+Express+Koa2 开发Web Server博客 10-8

标签:
征文 资讯

课程名称: 新版 Node.js+Express+Koa2 开发Web Server博客

课程章节: 10-8 express 处理session

课程讲师: 双越

课程内容:

登录

  • 使用 express-session 和 connect-redis 插件,简单方便
  • req.session 保存登录信息,登录校验做成 express 中间件

代码演示

安装 express-session

npm i express-session -S

使用express-session

// app.js

const createError = require("http-errors");
const express = require("express");
const cookieParser = require("cookie-parser");
const logger = require("morgan");

// 
const session = require("express-session");

// 引入博客路由
const blogRouter = require("./routes/blog");
// 引入用户路由
const userRouter = require("./routes/user");

// 主程序
const app = express();

// 中间件
app.use(logger("dev"));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());

// 解析session
app.use(
  session({
    secret: "WJiol#23123_", //密匙
    cookie: {
      path: "/", // 默认配置
      httpOnly: true, // 默认配置
      maxAge: 24 * 60 * 60 * 1000, // 过期时间24小时
    },
  })
);

// 路由
app.use("/api/blog", blogRouter);
app.use("/api/user", userRouter);

module.exports = app;

测试是否有效

// router/user.js
const express = require("express");
const router = express.Router();

router.get("/session-test", (req, res, next) => {
  const session = req.session;
  
  if (session.viewNum == null) {
   // 计数
    session.viewNum = 0;
  }
  session.viewNum++;

  res.json({
    viewNum: session.viewNum,
  });
});

module.exports = router;

课程收获:

  1. 了解如何在 express 中处理session
    图片描述
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
10
获赞与收藏
5

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消