操作之前先登录的实现

const express=require('express');

module.exports=function(){
  var router=express.Router();

  //检查登录状态
  router.use(function(req,res,next){
    // 为了防止重定向次数过多,这里需要有双重条件
    if(!req.session['admin_id']&&req.url!='/login'){
      res.redirect('/admin/login');
    }else{
      next();
    }
  });

  router.get('/login',function(req,res){
    res.render('admin/login.ejs',{});
  });
  return router;
};
const express=require('express');
const static=require('express-static');
const bodyParser=require('body-parser');
const multer=require('multer');
const multerObj=multer({dest:'./static/upload'});
const mysql=require('mysql');
const cookieParser=require('cookie-parser');
const cookieSession=require('cookie-session');
const consolidate=require('consolidate');
const expressRoute=require('express-route');

var server=express();
server.listen(3000);

// 1.获取请求数据
//get自带
server.use(multerObj.any());

// 2.cookie、session
server.use(cookieParser());
(function(){
  var keys=[];
  for(var i=0;i<1000;i++){
    keys[i]='a'+Math.random();
  }
  server.use(cookieSession({
    name:'sess_id',
    keys:keys,
    maxAge:20*60*1000
  }));
})();

// 3.template
// 设置把模板以html形式输出
server.set('view engine','html');
// 模板位置
server.set('views','./template');
// 使用ejs引擎去解析html,这里可以设置多种多对
server.engine('html',consolidate.ejs);

// 4.route
server.use('/',require('./route/web.js')());
server.use('/admin/',require('./route/admin.js')());

// 5.default:static
server.use(static('./static/'));

你可能感兴趣的:(操作之前先登录的实现)