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 相关文章推荐
Google官方支持的NodeJS访问API,提供后台登录授权
Jul 29 NodeJs
Nodejs极简入门教程(二):定时器
Oct 25 NodeJs
nodejs中实现路由功能
Dec 29 NodeJs
nodeJS代码实现计算交社保是否合适
Mar 09 NodeJs
nodejs如何获取时间戳与时间差
Aug 03 NodeJs
详解nodejs express下使用redis管理session
Apr 24 NodeJs
Nodejs进阶之服务端字符编解码和乱码处理
Sep 04 NodeJs
NodeJs实现定时任务的示例代码
Dec 05 NodeJs
使用koa-log4管理nodeJs日志笔记的使用方法
Nov 30 NodeJs
NodeJs生成sitemap站点地图的方法示例
Jun 11 NodeJs
使用nodejs实现JSON文件自动转Excel的工具(推荐)
Jun 24 NodeJs
nodejs使用Sequelize框架操作数据库的实现
Oct 21 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 更新数据库中断的解决方法
2009/06/05 PHP
Aptana调试javascript图解教程
2009/11/30 Javascript
jquery UI 1.72 之datepicker
2009/12/29 Javascript
js 上下左右键控制焦点(示例代码)
2013/12/14 Javascript
jquery操作复选框checkbox的方法汇总
2015/02/05 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
AngularJS入门教程之过滤器详解
2016/08/19 Javascript
ajax与json 获取数据并在前台使用简单实例
2017/01/19 Javascript
JS实现JSON.stringify的实例代码讲解
2017/02/07 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
详解如何为你的angular app构建一个第三方库
2018/12/07 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
JQuery常见节点操作实例分析
2019/05/15 jQuery
JavaScript实现的联动菜单特效示例
2019/07/08 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
JS实现关闭小广告特效
2021/01/29 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
Python爬虫模拟登录带验证码网站
2016/01/22 Python
用python找出那些被“标记”的照片
2017/04/20 Python
python实现可视化动态CPU性能监控
2018/06/21 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
linux环境下Django的安装配置详解
2019/07/22 Python
python访问hdfs的操作
2020/06/06 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
放飞蜻蜓反思
2014/02/05 职场文书
厂长岗位职责
2014/02/19 职场文书
2014年组织部工作总结
2014/11/14 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
高一地理教学工作总结
2015/08/12 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
Linux系统下安装PHP7.3版本
2021/06/26 PHP