express,使用session进行身份认证
来源:http://blog.csdn.net/u010874036/article/details/52039431
1.应用cookie及session
app.use(session({
/// /这里的name值得是cookie的name,默认cookie的name是:connect.sid
name: 'test',
secret: 'qianming',
cookie: { path: '/', httpOnly: false, secure: false, maxAge: 60000 },
// 重新保存:强制会话保存即使是未修改的。默认为true但是得写上
resave: true,
// 强制“未初始化”的会话保存到存储。
saveUninitialized: true
}))
2.请求时,应用身份验证
app.use(function(req,res,next){
if (!req.session.user) {
if(req.url=="/login"){
next();//如果请求的地址是登录则通过,进行下一个请求
}
else
{
res.redirect('/login');
}
} else if (req.session.user) {
next();
}
});
3.登陆设计
app.post('/login',function(req,res){
if(req.body.username=="love" && req.body.password=="love"){
var user = {'username':'love'};
req.session.user = user;
res.redirect('/admin/app/list');
}
else
{
res.redirect('/login');
}
});
app.get('/logout',function(req,res){
req.session.user = null;
res.redirect('/login');
});