1. 项目环境搭建

1.1 项目介绍

多人博客管理系统:

  1. 博客内容展示
  2. 博客管理功能

image-20200412145004033

1.2 案例初始化

  1. 建立项目所需文件夹
  • public 静态资源
  • model 数据库操作
  • route 路由
  • views 模板
  1. 初始化项目描述文件
    npm init -y
  1. 下载项目所需第三方模块
    npm install express mongoose art-template express-art-template
  1. 创建网站服务器
  1. 构建模块化路由
  1. 构建博客管理页面模板

2. 项目功能实现

2.1 登陆
  1. 创建用户集合,初始化用户
  • 连接数据库
  • 创建用户集合
  • 初始化用户
  1. 为登录表单项设置请求地址、请求方式以及表单项name属性
  1. 当用户点击登录按钮时,客户端验证用户是否填写了登录表单
  1. 如果其中一项没有输入,阻止表单提交
  1. 服务器端接收请求参数,验证用户是否填写了登录表单
  1. 如果其中一项没有输入,为客户端做出响应,阻止程序向下执行

image-20200413224547824

  1. 根据邮箱地址查询用户信息
  2. 如果用户不存在,为客户端做出响应,阻止程序向下执行
  3. 如果用户存在,将用户名和密码进行比对
  4. 比对成功,用户登录成功
  5. 比对失败,用户登录失败
  6. 保存登录状态
  7. 密码加密处理

    2.2 cookie与session

    cookie:浏览器在电脑硬盘中开辟的一块空间,主要供服务器端存储数据。
  • cookie中的数据是以域名的形式进行区分的。
  • cookie中的数据是有过期时间的,超过时间数据会被浏览器自动删除。
  • cookie中的数据会随着请求被自动发送到服务器端。

image-20200413233914087
session:实际上就是一个对象,存储在服务器端的内存中,在session对象中也可以存储多条数据,每一条数据都有一个sessionid做为唯一标识。image-20200413234139971
image-20200413234156870
在node.js中需要借助express-session实现session功能。

  1. const session = require('express-session');
  2. app.use(session({ secret: 'secret key' }));