代码之家  ›  专栏  ›  技术社区  ›  J-Cake

不使用express session从req对象获取sessionid

  •  0
  • J-Cake  · 技术社区  · 7 年前

    我听说我可以在req对象中使用一个名为 sessionID 但当我用它的时候,它还没有定义。属性未设置。有没有一种方法可以在不使用express会话的情况下唯一地标识客户机?因为它需要我重新编写我的整个后端。

    router.post('/signup', function(req, res) {
        console.log(req)
        var signup = auth.signup(req.body.un, req.body.email, req.body.pw, req.body.pc, req.sessionID);
        if (signup !== 1) {
            res.render("signup", { title, err: signup })
        } else {
            res.redirect("/dashboard")
        }
    })
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Elliot Blackburn    7 年前

    req.sessionID 是通过中间件添加到req对象的自定义字段,在某些情况下,这将通过 express-session 但你可以随便把它装进去。例如,您可以创建一些中间件来读取cookie或头值,提取您定义为会话id的内容,并将其直接附加到req对象。

    如果您使用的是其他类型的身份验证,那么引入一个中间件来转换这一点应该相当简单。但是,您目前没有构建身份验证,因此您将没有使此工作的数据。