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为什么选择javascript为载体语言
Jan 13 NodeJs
NodeJs模拟登陆正方教务
Apr 28 NodeJs
mac下的nodejs环境安装的步骤
May 24 NodeJs
使用vs code开发Nodejs程序的使用方法
Sep 21 NodeJs
NodeJs实现定时任务的示例代码
Dec 05 NodeJs
nodejs实现大文件(在线视频)的读取
Oct 16 NodeJs
nodejs 生成和导出 word的实例代码
Jul 31 NodeJs
NodeJS实现自定义流的方法
Aug 01 NodeJs
nodejs中request库使用HTTPS代理的方法
Apr 30 NodeJs
NodeJs 模仿SIP话机注册的方法
Jun 21 NodeJs
nodejs如何在package.json中设置多条启动命令
Mar 16 NodeJs
nodejs各种姿势断点调试的方法
Jun 18 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
PHP生成静态页面详解
2006/11/19 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
JS跨域代码片段
2012/08/30 Javascript
jquery文本框中的事件应用以输入邮箱为例
2014/05/06 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
bootstrap laydate日期组件使用详解
2017/01/04 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
Vue性能优化的方法
2020/07/30 Javascript
[03:17]DOTA2-DPC中国联赛1月29日Recap集锦
2021/03/11 DOTA
Python实现简单遗传算法(SGA)
2018/01/29 Python
python学生管理系统代码实现
2020/04/05 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
全面了解django的缓存机制及使用方法
2019/07/22 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
NumPy排序的实现
2020/01/21 Python
使用postMessage让 iframe自适应高度的方法示例
2019/10/08 HTML / CSS
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
美国亚马逊旗下时尚女装网店:SHOPBOP(支持中文)
2020/10/17 全球购物
软件测试工程师面试问题精选
2016/10/28 面试题
咖啡蛋糕店创业计划书
2014/01/28 职场文书
大学生就业自我推荐信
2014/05/10 职场文书
个人校本研修方案
2014/05/26 职场文书
公共场所标语
2014/06/30 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python
基于MySql验证的vsftpd虚拟用户
2021/11/07 MySQL