如何使用Passport.js创建管理员帐户

时间:2019-04-17 21:00:29

标签: node.js passport.js

当前,我想用MongoDB,NodeJS和Express创建一个页面。

我遵循了有关如何创建网站并获得创建帐户(用户)选项的指南。但是,我想用手动添加的Admin创建自己的管理面板。 恐怕我会以某种方式创建一个选项“ app.post”并注册另一个管理员-换句话说,我不想提供该选项来发布更多帐户。我只想拥有一个帐户。 我正在使用本地护照猫鼬,护照,本地护照。

  

//这是Udemy课程的代码:

>router.post("/register", function (req, res) {

> var newUser = new User({

>    username: req.body.username

>  });

>  User.register(newUser, req.body.password, function (err, user) {

>    if (err) {

>      req.flash("error", err.message);

>      return res.redirect("register");

>    }

>    passport.authenticate("local")(req, res, function () {

>      req.flash("success", "Welcome to our website!");

>      res.redirect("/");

>    });

>  });

>});
  

//我以为我可以这样做:

>var newUser = new User({

>  username: "Admin"

>});

>User.register(newUser, "VerySecurePassword", function (err, user) {

>  if (err) {

>    req.flash("error", err.message);

>    return res.redirect("register");

>  }

>  passport.authenticate("local")(req, res, function () {

>    console.log("registered")

>  });

>});
  

//之后,我出现了一些错误:

(node:2496) UnhandledPromiseRejectionWarning: ReferenceError: req is not defined
    at C:\Websites\YelpCampCurrent\routes\index.js:37:5
    at promise.then.catch.err (C:\Websites\YelpCampCurrent\node_modules\passport-local-mongoose\index.js:250:21)
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:2496) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:2496) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

总的来说,我想创建一个帐户,但没有人也可以创建一个帐户。我想使用上面创建的代码,我可以在管理面板中创建帐户的过程中生存下来,然后,我想可以删除其余的代码。

0 个答案:

没有答案