进行session存储时需引用中间件,app.js
var express=require('express');
var app=express();
var cookieParser = require('cookie-parser');
var session = require('express-session');
app.use(cookieParser('sessiontest'));
app.use(session({
secret: 'sessiontest',//与cookieParser中的一致
resave: false,
saveUninitialized:true
}));
具体配置项可以查看相应文档进行了解
/*设置完毕后进行路由设置,注意先后顺序,路由设置应放在cookie及session设置之后*/
app.use('/public',express.static(staticDir));
app.use('/page',require('./routes/web-page'));
路由控制文件 web-page.js
var express=require('express');
var router=express.Router();
var userModel=require('../modules/user').user; //user表
var deviceModel=require('../modules/device').device;
var bodyParser = require('body-parser');
router.post('/login',function (req,res) {
var user=req.body.user;
var code=req.body.password;
userModel.authenticate(user,code,function (err,data) {
if(err) res.send({status:-1,msg:err.name});
if(data.status==0){
var userInfo={name:data.msg.name,role:data.msg.role,limit:data.msg.limit};
console.log(userInfo);
req.session.user=userInfo; //设置session
res.send({status:0,msg:'成功'});
}
else {
res.send(data);
}
});
});
router.get('/header',function (req, res) {
if(req.session.user){
res.render('header',{userName:req.session.user.name,roleName:req.session.user.role}); //将session中的值通过模板渲染,然后在页面中显示
}
else {
res.render('header',{userName:'test',roleName:'test'});
}
});
浙公网安备 33010602011771号