mysql - 使用 express-mysql-session 验证

标签 mysql node.js express express-session

由于我是 Node 编程的新手,我已经开始制作一个虚拟网站,并且我想使用现有的库 express-mysql-session 实现 session 管理。

我浏览了 documentation这个包。我已按照给定的步骤在表中创建 session 变量/数据条目。我什至能够将数据输入到表中。虽然我很困惑我应该为实际验证做些什么。我正在存储我从其他“用户”表导入的用于登录身份验证的用户电子邮件和 ID,这些信息存储在 session 表的数据列中。 session table .

在文档中,它只显示了如何将 session 变量存储到数据库中,而不是验证步骤。我完全困惑的是什么参数将被准确地用于身份验证/ session 。它是要用于它的 session_id 列值吗?如果是,我是否将该值存储在全局变量中并每次从表中访问它?

我一直无法找到任何使用这个包的示例,所以我没有下一步的任何上下文。如果有人甚至有解释这个包的例子,请你能与我分享它的来源吗?

最佳答案

这个库基于express-session ,可用于管理 session 。 express-session 库将数据保存在服务器端(内存),express-mysql-session 提供了一种将 session 数据保存到 MySql 表的方法。

您应该首先试验 express-session 库,然后使用相关库将其连接到 mysql。

使用快速 session 库非常简单。

To store or access session data, simply use the request property req.session, which is (generally) serialized as JSON by the store, so nested objects are typically fine. For example below is a user-specific view counter:

// Use the session middleware
app.use(session({ secret: 'keyboard cat', cookie: { maxAge: 60000 }}))

// Access the session as req.session
app.get('/', function(req, res, next) {
  if (req.session.views) {
    req.session.views++
    res.setHeader('Content-Type', 'text/html')
    res.write('<p>views: ' + req.session.views + '</p>')
    res.write('<p>expires in: ' + (req.session.cookie.maxAge / 1000) + 's</p>')
    res.end()
  } else {
    req.session.views = 1
    res.end('welcome to the session demo. refresh!')
  }
})

关于mysql - 使用 express-mysql-session 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57143340/

相关文章:

javascript - 打包的 Electron 应用程序找不到本地模块

javascript - 服务器端未定义 renderProps/React/React-Router + Node/Express.js 的同构渲染

mysql - 服务器更新后 HAVING 子句不起作用

php - 使用Google Plus API在MYSQL数据库中存储流数据

php - 如何使用限制和某种分数选择随机行?

javascript - 使用 JavaScript Promise 从 Firebase 云函数读取 Google Sheets

javascript - DynamoDB 中的正向和反向分页

javascript - 调试或查找代码中的某些拼写错误的简单方法是什么?

javascript - 使用 Node、React、Express AXIOS 和 MONGODB 获取 URL 参数并渲染用户页面

php - Laravel Eloquent 按关系排序