首页 > 解决方案 > 如何将我的登录与不同的用户级别放在角度

问题描述

我如何将我的登录名设置为不同的用户级别,如果级别为 1,则为超级管理员,如果级别为 2,则为管理员,如果为 3,则使用 Angular 7 nodejs 和 mongodb,这是指向我的项目的链接https://github .com/Kammikazy/project

这是我的代码

授权文件 getUserDetails(username,password){ return this.http.post('api/login',{ username, password }) }

登录组件

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
      })

    }
    })

标签: node.jsangularmongodb

解决方案


  // 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'])
    }

  })
}

推荐阅读