1. 项目环境搭建
1.1 项目介绍
多人博客管理系统:
- 博客内容展示
- 博客管理功能

1.2 案例初始化
- 建立项目所需文件夹
- public 静态资源
- model 数据库操作
- route 路由
- views 模板
- 初始化项目描述文件
npm init -y
- 下载项目所需第三方模块
npm install express mongoose art-template express-art-template
- 创建网站服务器
- 构建模块化路由
- 构建博客管理页面模板
2. 项目功能实现
2.1 登陆
- 创建用户集合,初始化用户
- 连接数据库
- 创建用户集合
- 初始化用户
- 为登录表单项设置请求地址、请求方式以及表单项name属性
- 当用户点击登录按钮时,客户端验证用户是否填写了登录表单
- 如果其中一项没有输入,阻止表单提交
- 服务器端接收请求参数,验证用户是否填写了登录表单
- 如果其中一项没有输入,为客户端做出响应,阻止程序向下执行

- 根据邮箱地址查询用户信息
- 如果用户不存在,为客户端做出响应,阻止程序向下执行
- 如果用户存在,将用户名和密码进行比对
- 比对成功,用户登录成功
- 比对失败,用户登录失败
- 保存登录状态
- 密码加密处理
2.2 cookie与session
cookie:浏览器在电脑硬盘中开辟的一块空间,主要供服务器端存储数据。
- cookie中的数据是以域名的形式进行区分的。
- cookie中的数据是有过期时间的,超过时间数据会被浏览器自动删除。
- cookie中的数据会随着请求被自动发送到服务器端。

session:实际上就是一个对象,存储在服务器端的内存中,在session对象中也可以存储多条数据,每一条数据都有一个sessionid做为唯一标识。

在node.js中需要借助express-session实现session功能。
const session = require('express-session');app.use(session({ secret: 'secret key' }));
