国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

nodejs實現用戶登錄路由功能

2024-05-06 16:51:16
字體:
來源:轉載
供稿:網友

經過前面幾次的學習,已經可以做下小功能,今天要實現的事用戶登錄路由。

一、users_model.js  功能:定義用戶對象模型

var mongoose=require('mongoose'),   Schema=mongoose.Schema;var UserSchema=new Schema({   username:{type:String,unique:true},   email:String,   color:String,   hashed_password:String});mongoose.model('User',UserSchema);

二、users_controller.js  功能:為Express服務器實現用戶登錄路由

 

var crypto=require('crypto');var mongoose=require('mongoose'),User=mongoose.model('User');function hashPW(pwd){  return crypto.createHash('sha256').update(pwd).  digest('base64').toString();}//實現用戶登錄路由exports.login=function (req,res){  User.findOne({username:req.body.username})  .exec(function(err,user){    if(!user){      err='User Not Found';    }else if(user.hashed_password===hashPW(req.body.password.toString())){      req.session.regenerate(function(){        req.session.user=user.id;        req.session.username=user.username;        req.session.msg='Authenticated as ' +user.username;        res.redirect('/');      });    }else{      err='Authentication failed. ';    }    if(err){      req.session.regenerate(function(){        req.session.msg=err;        res.redirect('/login');      });    }  });};

三、login.html

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>用戶登錄</title><link rel="stylesheet"type="text/css" href="/static/css/styles.css" rel="external nofollow" /></head><body><div class="form-container"> <p class="form-header">登錄</p> <form method="POST" >  <label>用戶名:</label>   <input type="text" name="username"><br>   <label>密碼:</label>   <input type="password" name="password"><br>   <input type="submit" value="登錄"> </form> </div> <a href="/signup" rel="external nofollow" >注冊</a> <hr> <%=msg %></body></html>

四、routes.js 功能:為Express服務器實現處理Web請求路由

var crypto=require('crypto');var express=require('express');module.exports=function(app){  var users=require('./controllers/users_controller');  app.use('/static',express.static('./static')).  use('/lib',express.static('../lib'));app.get('/login',function(req,res){  if(req.session.user){    res.redirect('/');  }  res.render('login',{msg:req.session.msg})});app.post('/login',users.login);

頁面效果

nodejs,用戶登錄,路由

總結

以上所述是小編給大家介紹的nodejs中實現用戶登錄路由功能,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商南县| 沅陵县| 长寿区| 巴彦淖尔市| 和田县| 嵊州市| 荃湾区| 察隅县| 安西县| 开江县| 龙泉市| 门源| 集贤县| 罗田县| 子洲县| 孙吴县| 文登市| 西乌| 涞源县| 凤城市| 新疆| 林芝县| 堆龙德庆县| 常熟市| 崇文区| 松桃| 翁牛特旗| 清苑县| 邛崃市| 鲁山县| 昌平区| 建阳市| 合水县| 义马市| 赤城县| 滨海县| 阿拉善盟| 兴隆县| 南江县| 绍兴市| 呼和浩特市|