1.要引入session所依赖的中间件
var cookieParser=require("cookie-parser")
var session=require("express-session")var mongoStore=require("connect-mongo")(session)var dbUrl="mongodb://localhost:27018/moviesProject"
2.
app.use(cookieParser()) app.use(session({ secret: "imooc", resave: false, //这个属性不能省略 saveUninitialized: true, //不能省略不写 store:new mongoStore({ url: dbUrl, collection: "sessions" }) }))3.用户提交过来的数据:用户名和密码,一般赋值给在req.session里的自定义属性
req.session.user=user
就算当服务器重启后,重新刷新页面,用户依然是登陆状态
/ signin 用户登录 app.post("/user/signin", function (req,res) { var _user=req.body.user var _name=_user.name //用户提交过来的用户名 var _password=_user.password //用户提交过来的密码 //在数据库中查找该用户名,并验证密码 User.findOne({name: _name},function(err, user){ if(err){ console.log(err) } if(!user){ return res.redirect("/") } user.comparePassword(_password,function(err,isMatch){ if(err){ console.log(err) } if(isMatch){ req.session.user=user console.log("password is matched") res.redirect("/") }else{ console.log("password is not matched") } }) }) })