web大作业(4)登陆功能的完善

之前做的网页,无论学生是否登陆成功,只要请求/student.html都能进入学生页面,并且下载文件做题目,因此有必要进行完善,让没有登陆的学生无法进行学生的操作。
先写两个函数:

var islogin = function(req,res,next){
  if(req.session.username==undefined||req.session.type!="student"){
    res.end("未登录")
  }else{
    next()
  }
}
var isteacherlogin = function(req,res,next){
  if(req.session.username==undefined||req.session.type!="teacher"){
    res.end("未登录")
  }else{
    next()
  }
}

一个判断学生登陆,另一个判断老师登录,然后在路由请求的时候传入这个函数,例如:

app.get("/download",islogin,function(req,res){
  //此处省略
})

这就保证了如果学生没有登陆就无法下载文件,同样,实现老师的功能也如此:

app.post("/fileupload",isteacherlogin,upload.single('file'),function(req,res){
  //此处省略
})

然后是实现退出功能,为学生和老师页面的退出登录键绑定事件:

document.getElementById("exit").onclick = function(){
        location.href = "/exit"
    }

在app.js中设计路由:

app.get("/exit",function(req,res){
  req.session.destroy(()=>{
    console.log("销毁完毕")
  })
  res.end("退出成功")
})

这样登录功能就完善了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值