nodejs个人博客开发第七步 后台登陆


Posted in NodeJs onApril 12, 2017

本文为大家分享了nodejs个人博客开发的后台登陆,具体内容如下

定义后台路径

访问这个路径进入后台页面 http://localhost:8888/admin/login

在后台路由控制器里面(/admin/index.js)调用登陆控制器(/admin/login.js)

//调用router对象的use方法,使用路由中间件
router.use("/login",require("./login"));

登陆控制器里面,定义登陆界面的路由,定义登陆提交验证的路由,这里需要获取到form表单post提交的数据,需要使用一个中间件叫body-parser

/**
* 后台登陆控制器
*/
var router=express.Router();
//引用中间件
var bodyParser = require('body-parser');
//使用以下这个中间件的方法
router.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
/*界面*/ 
router.get('/',function(req,res,next){
  res.render("admin/login");
});
/*验证*/
 router.post('/',function(req,res,next){
    //对口令进行最简单的写死的验证
  if(req.body.password=='taoshihan'){
            //记录一下session
      req.session.adminId=1;
      res.redirect("/admin");
  }else{
    res.send("口令错误!");
  }
});
module.exports=router;

后台主页判断是否有权限

后台对session里面的值进行判断,如果没有就是没登陆,跳到登陆页,不让进入。这里需要两个中间件express-session和cookie-parser

var session=require("express-session");
var cookieParser = require('cookie-parser');
var router=express.Router();
//使用以下session和cookie
router.use(cookieParser());
router.use(session({
  secret: '12345',
  name: 'nodejs-blog',  //这里的name值得是cookie的name,默认cookie的name是:connect.sid
  cookie: {maxAge: 8000000 }, //设置maxAge是80000ms,即80s后session和相应的cookie失效过期
  resave: false,
  saveUninitialized: true,
}));

验证权限有个公用的验证控制器/admin/auth.js

/**
* 验证控制器
*/
var auth=function(router){
  /*验证权限*/ 
  router.use(function(req,res,next){
    if(!req.session.adminId){
      res.redirect("/admin/login");
    }
    next();
  });  
}

module.exports=auth;

在需要验证的地方,调用这个路由中间件

/*验证权限*/ 
require("./auth")(router);

nodejs个人博客开发第七步 后台登陆

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
Nodejs中自定义事件实例
Jun 20 NodeJs
nodejs导出excel的方法
Jun 30 NodeJs
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
Jul 26 NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 NodeJs
NodeJs的fs读写删除移动监听
Apr 28 NodeJs
nodejs结合socket.io实现websocket通信功能的方法
Jan 12 NodeJs
Nodejs异步回调之异常处理实例分析
Jun 22 NodeJs
nodejs中express入门和基础知识点学习
Sep 13 NodeJs
nodejs require js文件入口,在package.json中指定默认入口main方法
Oct 10 NodeJs
Nodejs处理异常操作示例
Dec 25 NodeJs
NodeJs 模仿SIP话机注册的方法
Jun 21 NodeJs
Nodejs实现WebSocket代码实例
May 19 NodeJs
nodejs个人博客开发第六步 数据分页
Apr 12 #NodeJs
nodejs个人博客开发第五步 分配数据
Apr 12 #NodeJs
nodejs个人博客开发第四步 数据模型
Apr 12 #NodeJs
nodejs个人博客开发第三步 载入页面
Apr 12 #NodeJs
nodejs个人博客开发第二步 入口文件
Apr 12 #NodeJs
nodejs个人博客开发第一步 准备工作
Apr 12 #NodeJs
nodejs获取微信小程序带参数二维码实现代码
Apr 12 #NodeJs
You might like
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
JS 继承实例分析
2008/11/04 Javascript
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
javascript 操作文件 实现方法小结
2009/07/02 Javascript
javascript 写类方式之七
2009/07/05 Javascript
JS模板实现方法
2013/04/03 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
2015/08/18 Javascript
js实现统计字符串中特定字符出现个数的方法
2016/08/02 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
深入理解Vuex 模块化(module)
2017/09/26 Javascript
对vue中v-on绑定自定事件的实例讲解
2018/09/06 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
2021/01/07 Python
YSL圣罗兰美妆官方旗舰店:购买YSL口红
2018/04/16 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
工程总经理工作职责
2013/12/09 职场文书
幼儿园中班新学期寄语
2014/01/18 职场文书
素食餐饮项目创业计划书
2014/02/02 职场文书
家长写给老师的建议书
2014/03/13 职场文书
企业厂务公开实施方案
2014/03/26 职场文书
商务英语专业求职信
2014/06/26 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
研究生导师评语
2014/12/31 职场文书
创业计划书之甜品店
2019/09/18 职场文书
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis
Python OpenCV之常用滤波器使用详解
2022/04/07 Python