ExpressJS会话管理

时间:2018-11-07 18:04:04

标签: node.js http express session cookies

因此,在最长的时间里,我似乎无法弄清楚如何在Express中管理会话。是的,我在YouTube,Stack Over Flow等上到处都看过,对我来说根本没有任何意义。

因此,我了解基础知识,安装express-sessions模块,然后需要它,然后在我们的应用程序中注册中间件。现在,通过执行request,可以通过request.session对象访问会话对象。好的,但是现在呢?

我认为我遇到的最大问题是如何实际维护用户的会话。在我最近的申请中,我有一个注册和登录页面。用户注册后,将提示他们登录。当用户在后端登录应用程序时,我首先检查所提供的详细信息是否与数据库匹配(如果匹配),然后在那儿我引用request.session对象并在那里做一些事情。例如:

app.get('/login', (req, res) => {
   // Get user login details.
   var userSession = {
       user: req.body.username,
       sessID: req.sessionID
   }
   // Store the user session somewhere, either in a Session Store.
   // or a database. For now I will store it in an array.
   sessionArray.push(userSession);
});

好的,所以现在我们的数组将有一个用户会话。但是现在呢?每次用户尝试访问路由时,我需要检查用户会话权限吗?那不应该太难。但是,如果我们有不同的应用程序源怎么办?例如,我的VueJS应用程序位于端口8080上,而我的Express服务器位于端口3000上。每次尝试访问Vue应用程序上的路由时,我都会从Vue应用程序发送AJAX呼叫,并检查服务器是否存在会话/ username存在于我们将会话存储在其中的任何数据结构/存储中,如果存在,则会发送回结果,指示用户已登录并且可以使用。

这就是全部吗?这是我到目前为止遇到的最困难的事情。

0 个答案:

没有答案