express-9-登录

来源:互联网 发布:seo团队 编辑:程序博客网 时间:2024/06/06 02:07

/app.js

var http = require("http");

var express = require("express");

var cookieParser = require("cookie-parser");

var session = require("express-session");

var bodyParser = require("body-parser");

var fs = require("fs");

//得到app对象并启动服务

var app = express();

htttp.createServer(app);

//设置服务器启动的端口号

app.set(“port”,8080);

//指定视图目录

app.set("views","./public/views");

//缓存视图

app.set(“view cache”,true);

//设置视图引擎

app.set("view engine","ejs");


//指定静态文件的目录

app.use(express.static(__dirname+"/public"));

//post方式提交数据解析

app.use(bodyParser.ulencoded({extendend:true}))

//解析cookie

app.use(cookieParser());

//根据cookie获取内存中的session

app.use(session({

secret:'my_login_demo',

cookie:{secure:false,maxAge:30*60*1000}

}))

//自定义中间件,用于判断用户是否登录和能否登录

app.use(function(req,res,next){

if(req.session.user){

next();

}else{

var name = req.body.name //获取用户名值noLogin

var pwd = req.body.password; //获取密码值

var noLogin = req.body.noLogin;//获取是否选择免登录

var cookies = req.cookies;//获取所有cookie

if((name === "xiaoming" && pwd==="1234") || (cookies.name ==="xiaoming" && pwd === "1234") ){

//当前客户端免登录

if(noLogin == 'on'){

res.cookid('name',name,{maxAge:2*7*24*60*60*1000})

res.cookie('pwd',pwd,{maxAge:2*7*24*60*60*1000})

}

req.session.user={name:name,pwd:pwd}

next();

}else{

res.set("content-type","text/html");

res.status(200).sendFile(__dirname+"/public/html/login.html")

}

}

})


app.get("/comment",function(req,res){

console.log("=====");

res.set("content-type","text/plain;charset=utf-8")

res.end("登录成功");

})

app.listen(app.get(“port”),function(){

console.log("listen on "+app.get("port"))

})



原创粉丝点击