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 win7下安装方法
May 24 NodeJs
浅析nodejs实现Websocket的数据接收与发送
Nov 19 NodeJs
NodeJs安装npm包一直失败的解决方法
Apr 28 NodeJs
NodeJS链接MySql数据库的操作方法
Jun 27 NodeJs
深入学习nodejs中的async模块的使用方法
Jul 12 NodeJs
nodejs中sleep功能实现暂停几秒的方法
Jul 12 NodeJs
nodejs 搭建简易服务器的图文教程(推荐)
Jul 18 NodeJs
Nodejs 和Session 原理及实战技巧小结
Aug 25 NodeJs
NodeJS收发GET和POST请求的示例代码
Aug 25 NodeJs
Nodejs+express+ejs简单使用实例代码
Sep 18 NodeJs
详解webpack打包nodejs项目(前端代码)
Sep 19 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 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/03 冲泡冲煮
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
PHP基于DOM创建xml文档的方法示例
2017/02/08 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
一些常用的JS功能函数代码
2009/06/23 Javascript
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
jQuery 在光标定位的地方插入文字的插件
2012/05/10 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
angularJS 中$attrs方法使用指南
2015/02/09 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
JS批量替换内容中关键词为超链接
2017/02/20 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
highCharts提示框中显示当前时间的方法
2019/01/18 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
js实现详情页放大镜效果
2020/10/28 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
[01:41]DOTA2超级联赛专访YYF 称一辈子难忘TI2
2013/05/28 DOTA
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
Python实现网站注册验证码生成类
2017/06/08 Python
python实现简单日期工具类
2019/04/24 Python
python导入坐标点的具体操作
2019/05/10 Python
Python3 翻转二叉树的实现
2019/09/30 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
Python pymsql模块的使用
2020/09/07 Python
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
外语专业毕业生自荐信
2014/04/14 职场文书
家长学校工作方案
2014/05/07 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
python开发飞机大战游戏
2021/07/15 Python
阿里云 Windows server 2019 配置FTP
2022/04/28 Servers