как поставить мой логин с разными уровнями пользователя в угловых - PullRequest
0 голосов
/ 10 февраля 2019

как я могу поставить свой логин с другим уровнем пользователя, как это, если уровень его 1 пользователь, его superadmin, если его 2, пользователь его администратор, и если его 3 использует его, я использую угловые 7 nodejs и mongodb, это ссылка на мой проект https://github.com/Kammikazy/project

это мой код

файл аутентификации getUserDetails (имя пользователя, пароль) {вернуть this.http.post ('api / login', {имя пользователя, пароль})}

компонент входа

login() {
      let username = this.loginForm.value.username;
         let password = this.loginForm.value.password;
      this.Auth.getUserDetails(username,password).subscribe(data =>{
        if(data.success){
      this.router.navigate(['homepage'])
      this.Auth.setLoggedIn(true)
      //sdsadad
        }else{
        document.getElementById("erro").style.visibility = "visible";
        window.setTimeout("location.href='login'",3000);

        }
      })

      }

nodejs

    app.post('/api/login', async (req,res)=>{
      const {username,password}=req.body
      const resp = await User.findOne({ username: username}).select('+password')
      if(password==null){
        res.json({success:false,
          message:"  password can not be empty"
        })
      }else if(username==null){
        res.json({success:false,
          message:" username can not be empty "
        })
      }
      else if(!resp){
        res.json({success:false,
          message:"incorrect password"
        })

      }
      else if(!await bcrypt.compare(password, resp.password)){
    //if(!resp){

      res.json({success:false,
        message:"incorrect password"
      })
    }else {
      ///sessions
      req.session.user=username
      req.session.save()

      res.json({
        success:true
      })

    }
    })

1 Ответ

0 голосов
/ 10 февраля 2019
  // declare golbal variable
responce: any;
login() {
  let username = this.loginForm.value.username;
  let password = this.loginForm.value.password;
  this.Auth.getUserDetails(username, password).subscribe(data => {
    this.responce = data
    if (this.responce.user == 'level1') {
      this.router.navigate(['homepage'])
      this.Auth.setLoggedIn(true)
      //sdsadad

    } else if (this.responce.user == 'level2') {

      this.router.navigate(['secondpage'])
    }
    else if (this.responce.user == 'level3') {

      this.router.navigate(['thirdpage'])
    }

  })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...