session - Keystonejs session

标签 session keystonejs

我需要一些有关 keystonejs session 的帮助。我正在开发购物车,因此在客户将产品添加到购物车后,他们会转到结帐页面,强制他们以用户身份登录。但是,当他们登录时, session 将重新启动并清除购物车的内容。

我的问题:有没有办法登录并保留现有 session ,然后将用户 ID 添加到 session 中。

我使用 connect-mongo 将 session 持久保存到 mongodb。

我已经编写了 req.session.cart 将产品添加到 session 中 并使用

view.on('post', { action: 'login' }, function (next) {

    if (!req.body.email || !req.body.password) {
        req.flash('error', { detail: 'Please enter your email and password.' });
        return next();
    }

    var onSuccess = function() {
        req.flash('success', { detail: 'Great you are now logged in!' });
        res.redirect('/checkout');//redirect on success
    }

    var onFail = function() {
        req.flash('error', { detail: 'Input credentials were incorrect, please try again.' });
        return next();
    }

    keystone.session.signin({ email: req.body.email, password: req.body.password }, req, res, onSuccess, onFail);//

授权用户。

问候

最佳答案

据我所知,用户使用 Keystone only appends the user property 登录添加到请求对象,并将用户的 MongoDB ID 添加到 req.session.userId 中。它不会清除现有 session 。您目前如何添加到 Keystone session ?

关于session - Keystonejs session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41403867/

相关文章:

php - 登录后我的 php session 一直丢失

node.js - 如何在 keystone 中提供静态站点?

node.js - 将 Small Parse ID 迁移到普通 MongoDB 的 ObjectID

javascript - 有人可以解释一下#ifeq ../section key如何使用handlebar.js工作吗

node.js - 基石js : Is there way to remove Manage button from one of the model?

node.js - 如何使用哈希值创建正确的用户标识

php - 维护数据库连接或在需要时连接?

javascript - 将 jquery 的 $(window).scrollTop() 保存为 PHP $_SESSION ['scroll_pos' ] 变量

session - 什么是 Coldfusion session ?

javascript - Keystone JS 检索 HTML 表中的行 ID