Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 登录后在url中显示用户id_Javascript_Node.js_Mongodb - Fatal编程技术网

Javascript 登录后在url中显示用户id

Javascript 登录后在url中显示用户id,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我正在使用ExpressJSFramework和MongoDB数据库,我想在用户成功登录后在URL中显示用户名。这是我现在登录的代码。如何在URL中呈现用户名为的用户 这是我的密码 router.post('/login', function (req, res, next) { if (req.body.username && req.body.password) { User.authenticate(req.body.username, req.body.

我正在使用ExpressJSFramework和MongoDB数据库,我想在用户成功登录后在URL中显示用户名。这是我现在登录的代码。如何在URL中呈现用户名为的用户

这是我的密码

router.post('/login',  function (req, res, next) {
  if (req.body.username && req.body.password)
  {
    User.authenticate(req.body.username, req.body.password, function (error, user)
    {
      if (error || !user)
      {
        var err = new Error('Wrong username or password.');
        err.status = 401;
        return res.redirect('/login');
      }
      else
      {
        req.session.userId = user._id;
        if(user.roles=='admin')
        {
        return res.redirect('/admin');
        }else if(user.roles=='teacher')
        {
          console.log('teacher login');
          return res.redirect('/teacher');
        }else
        {
          console.log('Time Table Creator login');
          return res.redirect('/creator');
        }

      }
    });
  }else
  {
    var err = new Error('All fields required.');
    err.status = 400;
    return next(err);
  }
});

router.get('/login',function(req,res){
  res.render('login', { });
});

//Login Logic ends

//Get page after login
router.get('/admin', mid, function(req, res) {

    res.render('admin_dashboard',{});

});


更改您的管理路径以允许路径参数,然后像下面这样传递用户名。我已将其更改为管理员,请参见下文

 router.post('/login',  function (req, res, next) {
      if (req.body.username && req.body.password)
      {
        User.authenticate(req.body.username, req.body.password, function (error, user)
        {
          if (error || !user)
          {
            var err = new Error('Wrong username or password.');
            err.status = 401;
            return res.redirect('/login');
          }
          else
          {
            req.session.userId = user._id;
            if(user.roles=='admin')
            {
            return res.redirect(`/admin/${req.body.username}`);
            }else if(user.roles=='teacher')
            {
              console.log('teacher login');
              return res.redirect('/teacher');
            }else
            {
              console.log('Time Table Creator login');
              return res.redirect('/creator');
            }

          }
        });
      }else
      {
        var err = new Error('All fields required.');
        err.status = 400;
        return next(err);
      }
    });

    router.get('/login',function(req,res){
      res.render('login', { });
    });

    //Login Logic ends

    //Get page after login
    router.get('/admin/:id', mid, function(req, res) { // change your route like this

        res.render('admin_dashboard',{});


  });