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 提示‘xxx’ 不是内部或外部命令解决方法
Nov 20 NodeJs
Nodejs中解决cluster模块的多进程如何共享数据问题
Nov 10 NodeJs
NodeJS配置HTTPS服务实例分享
Feb 19 NodeJs
nodejs+express实现文件上传下载管理网站
Mar 15 NodeJs
nodejs开发——express路由与中间件
Mar 24 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 NodeJs
nodejs获取微信小程序带参数二维码实现代码
Apr 12 NodeJs
详解Nodejs之npm&package.json
Jun 15 NodeJs
Nodejs+express+ejs简单使用实例代码
Sep 18 NodeJs
nodejs中方法和模块用法示例
Dec 24 NodeJs
Nodejs中的require函数的具体使用方法
Apr 02 NodeJs
nodejs检测因特网是否断开的解决方案
Apr 17 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/10/09 PHP
扩展你的 PHP 之入门篇
2006/12/04 PHP
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
php中curl使用指南
2015/02/05 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
javascript在一段文字中的光标处插入其他文字
2007/08/26 Javascript
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
2013/06/21 Javascript
JS实现表单中checkbox对勾选中增加边框显示效果
2015/08/21 Javascript
jquery中表单 多选框的一种巧妙写法
2015/09/06 Javascript
javascript如何写热点图
2015/12/08 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
jQuery Tree Multiselect使用详解
2017/05/02 jQuery
javascript流程控制语句集合
2017/09/18 Javascript
原生JS实现小小的音乐播放器
2017/10/16 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
js实现左右轮播图
2020/01/09 Javascript
Python排序搜索基本算法之归并排序实例分析
2017/12/08 Python
python 检查文件mime类型的方法
2018/12/08 Python
python操作yaml说明
2020/04/08 Python
python从PDF中提取数据的示例
2020/10/30 Python
详解rem 适配布局
2018/10/31 HTML / CSS
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
美国在线健康和美容市场:Pharmapacks
2018/12/05 全球购物
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
护士辞职信模板
2014/01/20 职场文书
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
四风自我剖析材料思想汇报
2014/10/01 职场文书
学生打架检讨书
2014/10/20 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书