如何根据PASSPORTJS中的特定用户ID结束用户会话。踢任何我想要的用户等

时间:2018-01-25 20:20:10

标签: node.js mongodb passport.js

我想选择任何用户ID并能够结束他们的用户群,也就是将其注销。

我在文档中看到的唯一一件事是req.logout(),但这只适用于当前用户,即ME。

// logout
userController.logout = function (req, res) {
  req.logout();
  res.redirect('/main');
};

module.exports = userController;

1 个答案:

答案 0 :(得分:1)

基本上我必须使用connect-mongostore来存储每个用户登录时的会话。然后我使用现有的mongoose连接来执行原始的mongodb查询,根据用户名删除特定的用户会话,按下禁令后按钮和ajax发送请求以发送用户信息。他们将在他们尝试做的下一件事中注销,这需要网站上的用户信息。

无法相信这里没有人甚至在8天后提供这个简单解决方案的开始步骤...... L.O.Lx100

L.O.L @认为mongodb标签的人在这里不相关。有点需要它删除用户会话伙伴。 R.o.f.L @也是编辑nodejs标签的人,是除了nodejs buddy之外的其他地方找到的app.js文件?在除nodejs以外的任何其他地方也可以找到express吗? 这个网站上的喜剧演员质量很好。

帮助其他人的代码:

在app.js中:

    var session = require('express-session');
    var MongoStore = require('connect-mongostore')(session);
    app.use(require('express-session')({
  secret: 'keyboard cat',
  resave: false,
  saveUninitialized: false,
  store: new MongoStore({mongooseConnection: mongoose.connection})

}));

在我的控制器文件中:

mongoose.connection.db.collection('sessions').deleteMany({

            "session.passport.user": username


        })