node.js - 如何将我的登录与不同的用户级别放在角度
问题描述
我如何将我的登录名设置为不同的用户级别,如果级别为 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
})
}
})
解决方案
// 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'])
}
})
}
推荐阅读
- ios - 我可以在发布之前使用真正的 admob 广告进行一次测试吗?
- python - 为什么海龟的 xcor() 函数不改变值?
- c++ - Qt 和 Intel realsense 入门
- python - 使用熊猫提取列位置而不是列名?
- asp.net - 一项下拉更改正在更改所有其他下拉选择值
- r - R knitr save_kable 纯html输出
- python - 如何在 Python 中打开 .csv 文件
- java - Java从其他两个具有不同对象和公共属性的列表构建一个列表
- python - 替换 Word 2000 doc 中的图像
- javascript - Array[Object] 作为对象递归问题(p5.js)中的属性?