使用 express-mysql-session 验证

Verification using express-mysql-session

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

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

与文档中一样,它只显示了如何将会话变量存储到数据库中,而不是验证步骤。我完全困惑的是 authentication/session 究竟使用什么参数。它是要用于它的 session_id 列值吗?如果是,我是否将该值存储在全局变量中并每次从 table?

访问它?

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

此库基于express-session,可用于管理会话。 express-session 库将数据保存在服务器端(内存),express-mysql-session 提供了一种将会话数据保存到 MySql table.

的方法

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

使用 express-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!')
  }
})