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并发异步的回调处理
Dec 21 NodeJs
实例详解Nodejs 保存 payload 发送过来的文件
Jan 14 NodeJs
Windows 系统下设置Nodejs NPM全局路径
Apr 26 NodeJs
nodejs如何获取时间戳与时间差
Aug 03 NodeJs
图片上传之FileAPI与NodeJs
Jan 24 NodeJs
详解nodejs的express如何自动生成项目框架
Jul 12 NodeJs
nodejs前端自动化构建环境的搭建
Jul 26 NodeJs
nodejs中密码加密处理操作详解
Mar 20 NodeJs
nodejs require js文件入口,在package.json中指定默认入口main方法
Oct 10 NodeJs
Nodejs实现多文件夹文件同步
Oct 17 NodeJs
nodejs检测因特网是否断开的解决方案
Apr 17 NodeJs
nodejs环境使用Typeorm连接查询Oracle数据
Dec 05 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
BBS(php & mysql)完整版(七)
2006/10/09 PHP
php Smarty初体验二 获取配置信息
2011/08/08 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
微信利用PHP创建自定义菜单的方法
2016/08/01 PHP
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
webpack实现热更新(实施同步刷新)
2017/07/28 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
使用mpvue搭建一个初始小程序及项目配置方法
2018/12/03 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
实现一个 Vue 吸顶锚点组件方法
2019/07/10 Javascript
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
JS实现简单日历特效
2020/01/03 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
Python实现网站文件的全备份和差异备份
2014/11/30 Python
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
Python字符串详细介绍
2015/05/09 Python
浅谈python对象数据的读写权限
2016/09/12 Python
python中模块查找的原理与方法详解
2017/08/11 Python
python的变量与赋值详细分析
2017/11/08 Python
利用python循环创建多个文件的方法
2018/10/25 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
工程部主管岗位职责
2013/11/17 职场文书
委托证明的格式
2014/01/10 职场文书
中专毕业生自我鉴定
2014/02/02 职场文书
期末自我鉴定
2014/02/02 职场文书
开工典礼策划方案
2014/05/23 职场文书
承诺书范文
2014/06/03 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
病人慰问信范文
2015/02/15 职场文书
导游词之南京汤山温泉
2019/11/26 职场文书
如何设计高效合理的MySQL查询语句
2021/05/26 MySQL