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的前后端分离的思考与实践(二)模版探索
Sep 26 NodeJs
nodejs导出excel的方法
Jun 30 NodeJs
基于Nodejs利用socket.io实现多人聊天室
Feb 22 NodeJs
Nodejs多站点切换Htpps协议详解及简单实例
Feb 23 NodeJs
深入理解Nodejs Global 模块
Jun 03 NodeJs
NodeJS实现不可逆加密与密码密文保存的方法
Mar 16 NodeJs
NodeJs搭建本地服务器之使用手机访问的实例讲解
May 12 NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
Feb 02 NodeJs
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
Mar 02 NodeJs
NodeJs之word文件生成与解析的实现代码
Apr 01 NodeJs
Nodejs监听日志文件的变化的过程解析
Aug 04 NodeJs
NodeJS开发人员常见五个错误理解
Oct 14 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制作动态随机验证码
2015/02/12 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
jQuery 位置插件
2008/12/25 Javascript
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
jquery ajax同步异步的执行最终解决方案
2013/04/26 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
javascript结合CSS实现苹果开关按钮特效
2015/04/07 Javascript
Backbone.js的Hello World程序实例
2015/06/19 Javascript
jQuery Masonry瀑布流插件使用方法详解
2017/01/18 Javascript
JavaScript数据结构之数组的表示方法示例
2017/04/12 Javascript
Three.js实现浏览器变动时进行自适应的方法
2017/09/26 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
Python进阶篇之字典操作总结
2016/11/16 Python
Python实现excel转sqlite的方法
2017/07/17 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
django做form表单的数据验证过程详解
2019/07/26 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
2020/07/14 Python
Django多个app urls配置代码实例
2020/11/26 Python
HTML5中FileReader接口使用方法实例详解
2017/08/26 HTML / CSS
美国卡车、吉普车和SUV零件网站:4 Wheel Parts
2016/11/24 全球购物
捐款倡议书
2014/04/14 职场文书
学生违反校规检讨书
2014/10/28 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
安阳殷墟导游词
2015/02/10 职场文书
校车司机安全责任书
2015/05/11 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis