nodejs个人博客后台登陆开发详解

  本文为大家分享了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);

(0)

相关推荐

  • nodejs个人博客数据分页开发教程

    本文为大家分享了nodejs个人博客开发的数据分页,具体内容如下 控制器路由定义 首页路由:http://localhost:8888/ 首页分页路由:http://localhost:8888/in ...

  • nodejs个人博客分配数据开发教程

    本文为大家分享了nodejs个人博客开发的分配数据,具体内容如下 使用回掉大坑进行取数据 能看明白的就看,看不明白的手动滑稽 /** * 首页控制器 */ var router=express.Rou ...

  • nodejs个人博客载入页面开发教程

    本文为大家分享了nodejs个人博客开发的载入页面,具体内容如下 模板引擎 使用ejs作为我们博客的前端模板引擎,用来从json数据生成html字符串 安装:npm install ejs -save ...

  • nodejs个人博客数据模型开发教程

    本文为大家分享了nodejs个人博客开发的数据模型,具体内容如下 数据库模型 /model/db.js 数据库操作类,完成链接数据库和数据库的增删查改 查询表 /*查询*/ select:functi ...

  • 网易博客怎么登陆

    网易博客怎么登陆?下面我们就来看一下具体操作吧. 操作方法 01 在浏览器中搜索"网易博客",然后找到他们的网站,点击进入. 02 进入网易博客之后,找到网页右上角的"登 ...

  • CentOS中禁止用户ssh和sftp登陆的详解

    CentOS中禁止用户ssh和sftp登陆的详解 在linux中出于安全的需要,我们会禁止某些用户SSH登陆系统进行操作.我这里以centos操作系统为例记录下如何进行处理. 1.打开sshd的配置文 ...

  • 微信小程序开发详解(微信小程序架构原理)

    (文末福利:小程序开发利器)作者:billgong,腾讯IEG前端开发工程师.微信小程序,简称小程序,英文 mini program.是一种不需要下载安装即可在微信中使用的应用,用户扫描小程序码或搜索 ...

  • 百度天气开发详解

    操作方法 01 首先你要有个密钥才可以进行百度地图的开发,给你个写好的demo,自己去改吧(把key的值改成你的key就可以了) $(document).ready(function() { $.aj ...

  • 查看博客.最近帖子和存档草稿 --Word 2007高级应用

    查看博客、最近帖子和存档草稿 ——Word 2007高级应用 由于查看博客和查看最近帖子这两项操作都是"外包"给Internet Explorer的,我们可以简单地调用System.Diagnosti ...