手机版

nodejs实现用户登录路由功能

时间:2021-08-23 来源:互联网 编辑:宝哥软件园 浏览:

经过前面几次的学习,已经可以做下小功能,今天要实现的事用户登录路由。

一、users _ model.js功能:定义用户对象模型

var mongose=必选(' mongose '),Schema=mongoose .图式;var用户Schema=new Schema({ username : { type : string,unique:true},email:String,color:String,hashed _ password : string });蒙哥斯。模型(‘用户’,用户模式);二、users _ controller.js功能:为表达服务器实现用户登录路由

var crypto=require(' crypto ');var mongose=required(' mongose '),User=mongose。模型(‘用户’);函数hashPW(pwd){返回加密。创建哈希(' sha 256 ').更新(残疾人).摘要(' base64 ').toString();}//实现用户登录路由exports.login=function (req,RES){ user。findone({ username : req。尸体。用户名}).exec(函数(错误,用户){ if(!用户){ err='找不到用户;} else if(用户。hashed _ password===hashPW(req。尸体。密码。tostring()){ req。会话。regenerate(function(){ req。会话。用户=用户。id;请求。会话。用户名=用户。用户名;请求。会话。消息=“认证为”用户。用户名;RES . redirect('/');});}否则{ err='身份验证失败;} if(err){ req。会话。regenerate(function(){ req。会话。msg=errRES .重定向('/log in ');});} });};三、login.html

!DOCTYPE html html hearteta charset=' UTF-8 '标题用户登录/titlelink rel='样式表type=' text/CSS ' href='/static/CSS/style。CSS ' rel='外部no follow '/headdydiv class=' form-container ' p class=' form-header '登录/p表单方法='POST '标签用户名:/标签输入类型='text '名称='username'br标签密码:/标签输入类型=“密码”名称=“密码”br输入类型='submit '值='登录/form/div a href='/registration ' rel='外部无跟随'注册/a hr %=msg %/body/html四、routes.js功能:为表达服务器实现处理网请求路由

var crypto=require(' crypto ');var express=require(' express ');模块。exports=function(app){ var user=require ' ./controller/users _ controller’);app.use('/static ',express.static(' ./static ').使用(“/lib”,express.static(”./lib ');app.get('/login ',函数如果(请求)。会话。用户){ RES . redirect('/');} res.render('login ',{ msg : req。会话。msg })});app.post('/login ',用户。登录);页面效果

总结

以上所述是小编给大家介绍的开发中实现用户登录路由功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

版权声明:nodejs实现用户登录路由功能是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。