护照示例代码显然没有 运行

Passport example codes apparently don't run

我正在尝试保护路由以供没有角色的用户访问。 然后我继续找到 p​​assport-local-roles 模块并将其粘贴到我的代码中。我有一个包含用户、角色和密码的 MongoDB 用户集合。在投反对票之前,请检查我的个人资料。

let passport = require('passport')
let LocalStrategy = require('passport-local').Strategy;

app.use(bodyParser.urlencoded({extended: true}))

passport.use(new LocalStrategy(
  function(username, password, role, done) {
    console.log('It doesnt reach this part of the code');
    User.findOne({ username: 'Baud' }, function (err, user) {
      if (err) { return done(err); }
      if (!user) { return done(null, false); }
      if (!user.verifyPassword('abr3alas')) { return done(null, false); }
      return done(null, user);
    });
  }
));

passport.use(new LocalStrategy({
  usernameField: 'email',
  passwordField: 'passwd',
  roleField: 'administrator',
  passReqToCallback: false,
  session: false
},
function(req, username, password, role, done) {
  // request object is now first argument
  console.log('It doesnt print any of the following information')
  console.log('role is:' + role)
  console.log('req is:' + req)
}
));

// create users collection
app.post('/users',  passport.authenticate('local'),
function(req, res) {
  console.log('even though I access this route, doesnt do nothing bellow');
  console.log(res)
  db.collection('users').find().toArray((err, result) => {
    if (err) return console.log(err)
    console.log(users);
  });

  if (req.user.role == "administrator") {
      return res.send('you can see this content');
  }
  else {
    console.log('you are not administrator')
    res.send('you can not see this content');
  }
(req, res) => {
  names = db.collection('users').find({name: req.body.name});
  console.log(names);
  db.collection('users').insertOne(req.body,
    (err, result) => {
    if (err) return console.log(err)
    console.log('User created with role ' + req.body.role);
    res.redirect('/')
  })
}
})

没有一个 console.log 打印出任何东西。

我有一个 MongoDB 用户集合和一个我从 /users 提交的表单 我有一个有效的 MongoDB 查询,可以打印出用户凭据。

users.ejs:

 <form action="/users" method="POST">
        <input type="text" placeholder="username" name="username">
        <input type="text" placeholder="role" name="role">
        <input type="password" placeholder="password" name="password">
        <button type="submit" id="user" >Login</button>
    </form>

"Bad Request"

如果没有一个 console.log 打印任何东西,这应该如何工作?谢谢

因为没有人帮忙,我只好退出